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
在这里申请吗?
从子项保存到父项时没有解决冲突。子项总是更改父项,无论父项具有什么值,或者父项是否有未保存的更改本身。
此外,没有合并策略或内置的其他方式来改变此行为。
可以编写自己的合并策略管理,但这有点棘手。了解规则可能会更好。
保存 child NSManagedObjectContext
并将更改推送到 parent NSManagedObjectContext
时如何解决冲突?
例如,假设您正在更新 NSManagedObject
Person
,方法是在具有 NSPrivateQueueConcurrencyType
的 child 上下文中将属性 age
设置为 18来自服务器的数据。同时,用户在 parent NSManagedObjectContext
上使用 NSMainQueueConcurrencyType
.
两次更新后,在 child 上下文中调用保存,该上下文传播到 parent NSManagedObjectContext
。
此时的年龄值是多少? child NSManagedObjectContext
会覆盖 parent NSManagedObjectContext
吗? NSMergePolicies
在这里申请吗?
从子项保存到父项时没有解决冲突。子项总是更改父项,无论父项具有什么值,或者父项是否有未保存的更改本身。
此外,没有合并策略或内置的其他方式来改变此行为。
可以编写自己的合并策略管理,但这有点棘手。了解规则可能会更好。