Child Parent 上下文保存冲突

Child Parent Context Save Conflicts

保存 child NSManagedObjectContext 并将更改推送到 parent NSManagedObjectContext 时如何解决冲突?

例如,假设您正在更新 NSManagedObject Person,方法是在具有 NSPrivateQueueConcurrencyType 的 child 上下文中将属性 age 设置为 18来自服务器的数据。同时,用户在 parent NSManagedObjectContext 上使用 NSMainQueueConcurrencyType.

两次更新后,在 child 上下文中调用保存,该上下文传播到 parent NSManagedObjectContext

此时的年龄值是多少? child NSManagedObjectContext 会覆盖 parent NSManagedObjectContext 吗? NSMergePolicies 在这里申请吗?

从子项保存到父项时没有解决冲突。子项总是更改父项,无论父项具有什么值,或者父项是否有未保存的更改本身。

此外,没有合并策略或内置的其他方式来改变此行为。

可以编写自己的合并策略管理,但这有点棘手。了解规则可能会更好。