2015-09-22 8 views
-2

Я использую ARC в своем проекте.ios: над объектом высвобождения в ARC

Мое приложение somtimes crash во время освобождения пользовательского вида. Я думаю, что объект уже освобожден раньше, но пул авторесурсов попытается освободить его снова.

В чем причина проблемы? Я думаю, что у меня нет доступа к объекту просмотра в нескольких потоках.

Crashed: com.apple.main-thread 
EXC_BAD_ACCESS KERN_INVALID_ADDRESS at 0x00010012 

0 CoreFoundation CFRelease + 17 
8 UIKit -[UIView dealloc] + 1420 
9 mypreoject QuestionPage.m line 29 -[QuestionPage dealloc] 
10 libobjc.A.dylib (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 388 
16 UIKit UIApplicationMain + 144 
17 mypreoject main.m line 13 main 
18 libdyld.dylib start + 2 

ответ

1

Посмотрите на страницу QuestionPage.m номер двадцать девять. Вы видите там что-нибудь подозрительное?

Еще одно предложение - использовать инструменты для отладки памяти, но я сомневаюсь, что есть какие-либо, если вы используете ARC.

Что также стоит посетить в настройках сборки приложения и убедиться, что ARC фактически используется.

+0

Извините, что забыл опубликовать код. Строка 29 в QuestionPage.m является «}» после [[NSNotificationCenter defaultCenter] removeObserver: self]. –