在我的 iOS 应用程序中,我正在尝试将核心数据与 Web 后端同步。我想为同步使用一个单独的后台托管对象上下文,这样我就可以在同步处理时让我的主上下文自由地接受来自 ui 的更改。根据这篇博文http://www.cocoanetics.com/2012/07/multi-context-coredata/,这两个上下文都是我的写入磁盘上下文的子级。
我的问题是,如何在保存到磁盘之前合并两个子上下文?
如果我订阅 contextDidSaveNotifications,我可以使用合并上下文
[mainContext mergeChangesFromContextDidSaveNotification:syncFinishedNotification];
但根据文档......“此方法刷新已在其他上下文中更新的任何对象,任何新插入的对象中的错误,并在已删除的对象上调用 deleteObject::。”
我不想刷新更新的对象并丢失对 mainContext 所做的更改,而是合并两个更改集。
我是多上下文核心数据的新手,所以我可能会以错误的方式思考这个问题。
有任何想法吗?