У меня есть NSFetchedResultsController, привязанный к моему основному контексту управляемых объектов. Он отвечает за хранение данных для представления таблицы в моем основном представлении.iOS5 NSFetchedResultsController не получает обновления для удаления
У меня есть NSOperation, работающий на фоновом потоке, который обновляет/удаляет управляемые объекты, отслеживаемые контроллером результатов. Я создаю дочерний контекст (частный тип параллелизма/parent = основной управляемый объект) в объектах nsoperation и insert/delete. Когда он будет завершен, он сохранит свой контекст, а также родительский контекст.
Что интересно и очень неприятно, так это то, что это отлично работает в iOS 6. Когда я вставляю или удаляю объекты, мой обработчик получаемых результатов уведомляется об изменениях, и все работает так, как ожидалось. Однако на iOS 5 все работает, за исключением удалений. Контроллер получаемых результатов не уведомляется об удалении. Однако ... если я вручную обновить выбранный контроллер результатов (сделав его нулевым и повторив один и тот же предикат), тогда он покажет ожидаемый результат.
Кроме того, когда я регистрируюсь для изменения/сохранения уведомлений в основном контексте, я вижу, что словарь пользовательской информации содержит объекты, которые я удалил ... даже в iOS 5!
Один вопрос, который, как я думал, может быть, но я не думаю, что держится, потому что я удалил факторы, заключается в том, что этот объект находится во многих отношениях с другим объектом. Объект, который я удаляю/вставляю, является «сотрудником», и он имеет отношения с «отделом». Сотрудник настроен на аннулирование, а отдел настроен на каскад.
Как я уже сказал, это работает отлично в iOS6, но не в iOS5.
Любые советы были бы очень полезными.