CoreData:错误:批量获取请求被要求获取1个对象但收到2个对象

时间:2016-02-28 20:48:01

标签: core-data nsfetchedresultscontroller nsmanagedobject nsfetchrequest nsmanagedobjectid

我使用两个持久存储:第一个是默认(内置)应用程序数据的只读,第二个是用户数据的读写。用户在第二个商店中添加任何数据时会出现此问题。在这种情况下,执行 NSFetchedResultsController performFetch:方法时,我在调试控制台中看到以下消息:

CoreData: error:  batched fetch request asked to fetch 1 objects but
received 2 objects as (
    "entity: Product; id: 0xd000000000340002 <x-coredata://A570FA00-5B60-4C21-A9B1-8A49C2AAC58B/Product/p13> ; data: <fault>)",
    "entity: Product; id: 0xd000000000340004 <x-coredata://84F31C0F-844D-44DD-BB2F-CC766BED8331/Product/p13> ; data: <fault>)"
)

我清楚CoreData将情况解释为错误,因为Managed ObjectID的最后部分是相同的:

Product/p13

出于某种原因,CoreData没有考虑到这些对象来自不同的商店: A570FA00-5B60-4C21-A9B1-8A49C2AAC58B 84F31C0F-844D-44DD-BB2F -CC766BED8331 相应地。

除了控制台中的错误消息外,一切正常。但我宁愿不去看。有没有人知道如何解决这种不同的商店ObjectID的冲突?

0 个答案:

没有答案