我有两个托管对象上下文A和B.这两个上下文在保存时通过将更改从一个更改为另一个来保持同步(通过监视NSManagedObjectContextDidSaveNotification
)。我已经确认A和B的更改正在合并。
我对B进行了NSFetchedResultsController
监视更新。我发现对A的某些更新不会导致在B.上触发nsfrc。当创建新的托管对象并将其添加到具有nsfrc属性的A时寻找(在B),nsfrc在B合并后从A的保存更改后触发。但是,如果托管对象已经存在于A(和B)上,我修改了对象并保存A,而我可以看到B正在合并A的保存通知中的更改,nsfrc监视B不会触发。
我在这里缺少什么?
答案 0 :(得分:1)
我遇到了这个问题,似乎我已经解决了这个问题。我不知道我到底做了什么。我的意思是我做了几件事但不知道,哪一个成了解决方案。所以我只想描述......
我重构了我的代码以遵循一些“提示”,可以在官方文档和文档中找到。一些论坛:
NSManagedObjectContext
,则应该在该线程中创建它,而不是以某种方式在那里传递。1& 3看起来更像是一些“魔术”,所以我认为你应该首先尝试跟随2。希望这会对你有所帮助。
答案 1 :(得分:0)
不确定这是否可以解决您的问题,但在合并A的更改后尝试在上下文B中调用processPendingChanges
。
另外,你的nsfrc是否使用缓存?尝试禁用缓存,看看它是否会对您的情况产生任何影响......