子父上下文保存冲突

Che*_*Dev 1 concurrency core-data nsmanagedobjectcontext ios nspersistentstore

NSManagedObjectContext保存子项并将更改推送到父项时如何解决冲突NSManagedObjectContext

例如,假设您正在使用来自服务器的数据在子上下文NSManagedObject Person中将属性设置age为 18进行更新NSPrivateQueueConcurrencyType。在同一时间,同一NSManagedObject Person age属性由在父用户更新到20的值NSManagedObjectContextNSMainQueueConcurrencyType

在两次更新之后,都会在传播到父级的子上下文上调用保存NSManagedObjectContext

此时的年龄值是多少?孩子会NSManagedObjectContext覆盖父母NSManagedObjectContext吗?在NSMergePolicies这里申请吗?

Jod*_*ins 5

从子级保存到父级时没有冲突解决方案。无论父级具有什么值,或者父级是否有未保存的更改本身,子级始终会更改父级。

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

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