Основные данные - ошибка NSFetchedResultsController - PullRequest
1 голос
/ 24 октября 2011

Кажется, controllerDidChangeContent: вызывается, как только я создаю новый управляемый объект в моем контексте. Документация предполагает, что этот метод вызывается только после сохранения: контекст.

Эта «ошибка», если она одна, вызывает сбой моего приложения, поскольку в качестве части моей ячейки табличного представления мне нужно загрузить другие управляемые объекты, которые не существуют на момент создания основного управляемого объекта.

Кто-то, кажется, тоже заметил это, пожалуйста, перейдите по следующей ссылке, и я хотел бы услышать ваше мнение по этому поводу: http://openradar.appspot.com/10207615


Дополнительная информация

Хотя ссылка, которую я добавил к этому сообщению, демонстрирует пример использования двух NSManagedObjectContext, мое приложение использует один контекст, но controllerDidChangeContent: передается тем не менее, как только объект создается в одном и том же контексте, и controllerDidChangeContent: вызывается второй раз, когда я сохраняю: этот контекст. Насколько я понимаю, этот метод должен передаваться только при сохранении контекста.

1 Ответ

1 голос
/ 24 октября 2011

Решение состоит в том, чтобы избежать работы с несколькими управляемыми объектами. Если вашей ячейке нужно загрузить другие управляемые объекты, она все равно должна использовать тот же контекст управляемого объекта, что и основной управляемый объект.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...