У меня есть навигационное приложение с 3 контроллерами представления в стеке.Корень навигации выдвигает AvailableItemsViewController, передавая ему контекст управляемого объекта.
Это представление, которое является табличным представлением, которое использует заполненный контроллер результатов для его заполнения, имеет кнопку добавления, которая выдвигает другой контроллер (CreateNewItemViewController). Я передаю этот контекст ему.
ВCreateNewItemViewController Я создаю управляемый объект, сохраняю его в контекст, затем извлекаю контроллер представления.
Я могу переходить назад и вперед, сохраняя элементы в AvailableItemsViewController, пока не вернусь к корню навигации.(AvailableItemsViewController освобождается).
После этого, если я возвращаюсь к третьему контроллеру и пытаюсь сохранить, я получаю следующее:
Вот моя ошибка (зомби включены:)
- [AvailableItemsViewController controllerWillChangeContent:]: сообщение отправлено освобожденному экземпляру 0x1f6500
и без зомби
- [__ NSArrayM controllerWillChangeContent:]: нераспознанный селектор, отправленный экземпляру 0x4ece * 0*
(я получил много разных случайных выводов по этому вопросу, похоже, что назначение controllerWillChangeContent: сообщение является случайным)
все контроллеры устанавливают свои свойства равными nil и освобождают ivars в viewDidUnloadи dealloc соответственно.
При пошаговом выполнении сбоя происходит в [self.managedObjectContext save: & error] в третьем контроллере (CreateNewItemViewController)