Мое приложение падает, когда я отклоняю ModalViewController через:
[self.parentViewController dismissModalViewControllerAnimated:YES];
Этот модальный контроллер представления ("MVC") отображается, когда пользователь нажимает на одну из ячеек UINavigationController ("NavRoot").") - вот код для этого:
MVC *modalView = [[MVC alloc] initWithNibName:@"MVC" bundle:nil];
[self.navigationController presentModalViewController: modalView animated:YES];
[modalView release];
Загруженный «modalView» содержит только 2 объекта: объект UIWebView и кнопку «DONE», которая при нажатии выполняет удаление с помощью:
[self.parentViewController dismissModalViewControllerAnimated:YES];
За исключением случаев, когда я нажимаю «Готово» - приложение вылетает.
Когда я запускаю Instruments с NSZombies, я вижу, что количество сохранений достигает -1, но я не могу сказать, что вызвало этот перевыпуск.
Единственное, что я нашел, чтобы решить проблему, это либо добавить оператор "[modalView retain]" в "NavRoot" - то есть viewController, который представляет modalView:
MVC *modalView = [[MVC alloc] initWithNibName:@"MVC" bundle:nil];
[self.navigationController presentModalViewController: modalView animated:YES];
[modalView retain]; // <<== new 'retain' statement
[modalView release];
или просто просто никогда не выпускать modalView:
MVC *modalView = [[MVC alloc] initWithNibName:@"MVC" bundle:nil];
[self.navigationController presentModalViewController: modalView animated:YES];
// commenting out the 'release':
// [modalView release];
Обе эти опции выдают флаги, когда я запускаю «Анализ» («Потенциальная утечка объекта, расположенного в строке 34» ...), ноони решают проблему.Тем не менее, я беспокоюсь о том, что Apple может отклонить приложение из App Store.
Есть идеи о том, что может стать причиной переиздания?Или, как я мог бы в дальнейшем попытаться выделить / идентифицировать проблему?
, прикрепив изображение отчета «Инструменты / Зомби»: