A 1 <----> * B
我在iOS应用程序中使用核心数据。 A和B是A和B之间具有1对多关系的实体。我有一个更新和创建B的后台线程.A在主线程上更新,除非我在后台线程上向B添加B,因为反向关系A得到更新。我有主要和后台线程的单独MOC。
我在主线程上添加了mergeChangesFromContextDidSaveNotification:
,但我在后台线程上获得了NSMergeConflict
来看看userInfo
的{{1}}没有帮助,因为所有属性都是相同的,这是我想象的许多关系都是冲突的,而这些关系并不是由nsmergeconflict返回的。
我尝试在后台线程中添加NSMergeConflict
,但是当两个线程都试图保存时,它现在会死锁。
我已经查看了NSMergeConflict
question的答案。我试过添加
mergeChangesFromContextDidSaveNotification:
通知,但我仍然看到NSMergeConflict。我不认为任何mergeChangesFromContextDidSaveNotification:
选项都适用,因为除了关系之外,我想保留所有持久存储的更改。我也不清楚如何“手动解决任何冲突”。
我如何解决或避免这些冲突?