У меня есть контроллер представления, который я пытаюсь вставить в стек навигации.Я создаю контроллер с локальной переменной, устанавливаю его, а затем назначаю его свойству.Затем, если я освобождаю переменную, я получаю EXE_BAD_ACCESS.если я сохраняю (или автоматически освобождаю), он протекает.
CustomTVC* controller = [[CustomTVC alloc]initWithStyle:UITableViewStyleGrouped];
controller.managedObjectContext = self.managedObjectContext;
self.tableViewControllerIvar = controller;
[self.navigationController pushViewController:self.tableViewControllerIvar animated:YES];
//[controller autorelease]; or [controller release]; or nothing
Вот именно то, что происходит, если я отпускаю
- Приведенный выше код запускается нажатием кнопки добавления в навигационной панели.bar.
- вид выдвигается и все нормально.В новом представлении я могу вставлять больше представлений снова и снова без проблем ... если только
- Я возвращаюсь к корневому представлению стека навигации.(Отсюда и вышеприведенный код).
- Теперь, если я снова развернусь до второго представления, то попытаюсь выдвинуть другое, оно вылетает.
Редактировать: У меня такое ощущение, что что-то идет не так, когда я помещаю третий контроллер в стек.При нажатии он вставляет новый объект в контекст управляемого объекта, что заставляет контроллер fetchedresults обновлять представление таблицы.Там может быть где-то сломанный указатель.Я поиграюсь с ним и выложу результаты.-
Редактировать: 5/16
Получение этого сообщения об ошибке в журнале
* - [CustomTVCcontrollerWillChangeContent:]: сообщение отправлено на освобожденный экземпляр 0x187270
Это происходит только после того, как я вытолкну CustomTVC из стека (вернусь к контроллеру корневого представления навигации). Я могу нажать и сохранить все, что хочу, до тех пор, покакак я не выскакиваю CustomTVC.