Я уже писал пару вопросов, пытаясь понять, почему я получаю EXC_BAD_ACCESS, и я немного отладил
Смотрите здесь:
Помощь в отладке приложения для iPhone - EXC_BAD_ACCESS
и
Переиздание здесь?
Итак, я думаю Я обнаружил, что происходит.
Из моего журнала я получаю следующее:
Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000f
Crashed Thread: 0
Thread 0 Crashed:
0 libobjc.A.dylib 0x00003ebc objc_msgSend + 20
1 MyApp 0x0000378a -[PictureView clearPage] (PictureView.m:79)
Сначала я подумал, что проблема заключается в том, что освобожденный объект посылает сообщение в функции 'clearPage', однако после разговора с другом меня убеждают, что сам объект PictureView уже может быть освобожден.
Это подтверждается моими выводами:
Fri Jan 8 20:28:32 unknown MyApp[2224] <Warning>: Picture View Unloaded
Fri Jan 8 20:28:32 unknown MyApp[2224] <Warning>: Memory warning from Picture view
Fri Jan 8 20:28:34 unknown MyApp[2224] <Warning>: Scaling image
Fri Jan 8 20:28:36 unknown MyApp[2224] <Warning>: Attempting to save image to disk
Fri Jan 8 20:28:37 unknown MyApp[2224] <Warning>: Saved file to: /var/mobile/Applications/065C0D37-95C1-41D4-98F0-16A3555682CD/Documents/MyImage1.jpg
Fri Jan 8 20:28:37 unknown MyApp[2224] <Warning>: Clearing page
Fri Jan 8 20:28:40 unknown ReportCrash[2225] <Notice>: Formulating crash report for process MyApp[2224]
Fri Jan 8 20:28:41 unknown com.apple.launchd[1] <Warning>: (UIKitApplication:com.yourcompany.MyApp[0xb8e1]) Job appears to have crashed: Bus error
Итак, я предполагаю, что используемый мной вид выгружается после получения предупреждения о памяти, вызванного средством выбора изображений ...
И мой вопрос: как я могу предотвратить это? Мне, очевидно, нужно вызвать метод clearPage PictureView, но я не могу, если он выгружен.