什么时候适合子类NSMergePolicy?

时间:2014-12-08 08:53:28

标签: ios core-data

我编写了一个小框架,它将CoreData对象同步到我服务器上的SQL后端,我正在使用NSManagedObject的子类添加与同步相关的元数据(例如:someObject.sync_status = needsSync)到每个对象。定期调用sync例程,并在后台的单独上下文中更改此元数据,而不涉及用户。

如果在用户正在编辑并保存NSManagedObjectContext中的对象时调用同步例程,则用户的元数据版本可能过时并且将与后台上下文中保存的当前元数据冲突。我的解决方案是从后台上下文保存通知中侦听和合并更改,但我更愿意在框架之外避免这种复杂性。

我想知道自定义合并策略是否会通过忽略用户的元数据属性版本在框架层解决此问题,并且所有其他属性将照常使用NSMergePolicyType(默认{{ 1}}对我来说可能仍然是最有用的)。我试图继承NSErrorMergePolicyType并覆盖NSMergePolicy,但我无法弄清楚它应该如何工作,我在网上找到零例子。

我的问题是:
  - 我是否在合并政策理念的正确轨道上?
  - 如果是,我该如何解决resolveConflicts:error:覆盖中的冲突?

谢谢!

0 个答案:

没有答案