具有多个线程的NSMergeConflict

时间:2011-10-03 12:53:24

标签: ios core-data

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:选项都适用,因为除了关系之外,我想保留所有持久存储的更改。我也不清楚如何“手动解决任何冲突”。

我如何解决或避免这些冲突?

0 个答案:

没有答案