Ios 将传统核心数据堆栈与iCloud集成:冲突管理

Ios 将传统核心数据堆栈与iCloud集成:冲突管理,ios,core-data,icloud,Ios,Core Data,Icloud,我正在开发一个iOS应用程序,我在核心数据中遇到了冲突管理问题。到目前为止,我已经构建了一个核心数据栈,它的实体与iCloud同步,没有太多麻烦 但冲突管理仍然是一个巨大的问题 苹果的UIManagedDocument公开了一个公共界面,该界面旨在使开发人员能够轻松处理文档版本冲突。在我的应用程序中,我的核心数据堆栈中的文档NSManagedObject需要与其他NSManagedObject建立关系,这意味着我需要使用传统的核心数据堆栈,而不是UIManagedDocument。这是真的吗 据

我正在开发一个iOS应用程序,我在核心数据中遇到了冲突管理问题。到目前为止,我已经构建了一个核心数据栈,它的实体与iCloud同步,没有太多麻烦

但冲突管理仍然是一个巨大的问题

苹果的UIManagedDocument公开了一个公共界面,该界面旨在使开发人员能够轻松处理文档版本冲突。在我的应用程序中,我的核心数据堆栈中的文档NSManagedObject需要与其他NSManagedObject建立关系,这意味着我需要使用传统的核心数据堆栈,而不是UIManagedDocument。这是真的吗

据我所知,在普通核心数据堆栈中处理冲突管理的唯一方法是将NSMergePolicy子类化。对吗

如果1和2的答案是肯定的,那么我需要将NSMergePolicy子类化,以便:

如果用户在设备X和设备Y上编辑文档A,而iCloud不可用(例如,因为设备均处于飞行模式),则NSMergePolicy子类需要将文档A的这两个版本保存到iCloud存储中。这就是苹果Notes应用程序的工作原理

不幸的是,我几乎找不到关于如何为此类任务正确地将NSMergePolicy子类化的信息。苹果的文档对此几乎没有什么可说的。你能解释一下如何完成这项任务,或者指导我进行一个深入的教程/示例项目吗

有没有比子类化NSMergePolicy更好/更简单/更简单的方法? 我真的很感谢你的帮助。在我确定正确的方法之前,我不敢尝试任何东西

谢谢, 罗伯特