【发布时间】:2015-04-24 19:46:11
【问题描述】:
我有一个NSFetchedResultsController,我使用NSManagedObjectContext 设置。我使用此上下文执行提取。
我还有一个NSBatchUpdateRequest,我使用相同的NSManagedObjectContext 设置。我使用相同的NSManagedObjectContext 执行请求。
当我使用NSBatchUpdateRequest 执行请求时,我可以看到我的所有数据都已更新。
如果我重新启动应用程序,使用 NSFetchedResultsController 的任何获取都可以正常工作。
问题是当我没有重新启动应用程序并且我一个接一个地执行这两个操作时,当我从我的上下文中调用方法 save 时出现 NSMergeConflict (0x17427a900) for NSManagedObject (0x1740d8d40) with objectID '0xd000000001b40000... 错误。
我知道问题来自对同一数据的并发更改,但我不知道解决方案是什么?一个可能是通过NSMergePolicy 课程,但我怀疑这是解决我的问题的一种干净的方法。
我该怎么办?有两种不同的上下文吗? (怎么做?)
【问题讨论】:
标签: ios objective-c swift core-data