【发布时间】:2017-01-13 21:28:46
【问题描述】:
在我的应用程序中,我有一个NSFetchedResultsController 在 UITableView 中加载核心数据对象。
与此 FRC 关联的提取请求使用可用于 NSPersistentContainer (iOS10) 的新 viewContext 属性。
当我选择一个单元格时,我将 Core Data 对象传递给一个新的 ViewController。这个新的 VC 仍然使用 viewContext。
通过这个 ViewController,我可以从模态显示的 ViewController 中更新 Core Data 对象。为此,我将newBackgroundContext() 用于模态视图控制器。我可以毫无问题地保存更新的 Core Data 对象。
问题在于 FRC 不会使用后台上下文中的更新 Core Data 对象自动更新。 就好像 viewContext 没有接收和处理 Core Data 对象更新一样。
如果我将 viewContext(应用范围)的 automaticallyMergesChangesFromParent 设置为 true,则 FRC 会在我保存背景上下文时获取更新的核心数据对象。据我了解, viewContext 应该自动管理数据的合并。该文档描述了 viewContext:“此上下文被配置为分代并自动使用来自其他上下文的保存通知。”
您能否阐明如何使用 NSFetchedResultsController 处理不同的上下文?
【问题讨论】:
标签: ios core-data ios10 nsfetchedresultscontroller nsmanagedobjectcontext