CoreData:具有子主上下文的私有上下文 - FetchedResultsController 未获取更新

CoreData: Private context with child Main context - FetchedResultsController not getting updates

我一直在尝试构建一个 Core Data 堆栈,如 Marcus Zarra 所述,其中他有一个私有队列上下文和一个主队列上下文(其中主队列上下文是私有队列的子项)上下文)。

我相信我已经正确重建(here)他在 Swift 中忠实描述的 MCPersistenceController(示例代码是 Obj-C)。

问题出在我的 ListViewModel class(其中包含一个 NSFetchedResultsController)。无论我尝试什么,当插入新的 Item 对象时,它的委托回调(controllerDidChangeContent 等)都不会被调用。

我只能假设这是在错误的线程上做某事的问题并且没有报告错误,但无论我尝试了什么,当我插入一个新的 Item FRC 触发没有委托打回来。可能是我遗漏了一些 Swift 东西。

我非常感谢此时的任何建议。

我的简单概念验证项目 (Swift 1.2) 在 GitHub 上。 (我还没有得到 CloudKit 的东西..)。

您的 ListViewModel 对象是一个纯 Swift 对象。获取的结果控制器使用 NSObject-descended 功能来检查委托是否响应委托方法。

@objc
class ListViewModel: NSFetchedResultsControllerDelegate{

修复它。