NSManagedObjectContext - 如何在父级更改时更新子级?

Tom*_*sen 5 core-data nsfetchedresultscontroller nsmanagedobjectcontext ios

Apple 文档不清楚(或者我找不到)关于在父 MOC 具有插入后保存时父子 MOC 会发生什么的情况。

我正在使用 MARCUS ZARRA 的http://martiancraft.com/blog/2015/03/core-data-stack/方法,顶部有一个 privateQMOC,而 childMainMOC 作为主线程。

问题

我通过后台 Internet 请求在 privateMOC 上调用 save 将 10,000 个对象添加到 privateMOC,但是在 childMainMOC 上下文上构建的任何 NSFetchedResultsControllers 在父级保存后永远不会调用我的委托。因此界面不会更新以显示 parentMOC 中的更改。

我想调用一些会更新 childMainMOC 中所有对象的东西 - 然后应该调用子控制器上的委托方法。

或者其他一些解决方案。

Wai*_*ain 1

关键信息:

其余上下文将是主队列上下文的子级

因此,用于处理下载数据的上下文必须是主上下文的子上下文,当您保存该子上下文时,您将保存主上下文,然后保存持久上下文。

当您保存数据处理上下文时,它会立即通知父级(主线程上下文),但您仍然需要 2 次保存才能将数据保存到磁盘上。