В моем приложении у меня есть NSFetchResultController
для загрузки объектов Core Data в UITableView.
Запрос на выборку, связанный с этим FRC, использует новое свойство viewContext
, доступное для NSPersistentContainer
(iOS10).
Когда я выбираю ячейку, я передаю объект Core Data в новый ViewController. Этот новый VC по-прежнему использует viewContext.
Из этого ViewController я могу обновить объект Core Data из ViewControllers, представленный модально. Для этого я использую newBackgroundContext()
для модальных ViewControllers. Я могу сохранить объект Core Data Update без каких-либо проблем.
Проблема заключается в том, что FRC не обновляется автоматически с помощью объекта Core Data Update из фонового контекста. Это как если бы viewContext не получал и не обрабатывал обновления объектов Core Data.
Если я установил automaticallyMergesChangesFromParent
в true для viewContext (приложение широкий), FRC получает обновленный объект Core Data, когда я сохраняю фоновый контекст. По моему мнению, viewContext должен автоматически управлять слиянием данных. Документация описывает viewContext с: "Этот контекст настроен на то, чтобы быть поколением и автоматически потреблять уведомления о сохранении из других контекстов".
Можете ли вы пояснить, как обрабатывать различные контексты с помощью NSFetchResultController?
Спасибо, Axel