Core data 具有相同提取请求的两个NSFetchedResultsController不';t返回相同的获取对象

Core data 具有相同提取请求的两个NSFetchedResultsController不';t返回相同的获取对象,core-data,Core Data,我的应用程序中有两个NSFetchedResultsController,它们执行相同的提取。i、 e.两个FRC的fetch请求、managedObjectContext、sectionNameKeyPath和cacheName完全相同。 但是,它们返回两组不同的托管对象作为获取对象。 一是: ( (实体:项;id:0x175125e0;数据:{resourceType=0;}), (实体:项;id:0x17512560;数据:), ) 另一个: <_PFBatchFaultingAr

我的应用程序中有两个NSFetchedResultsController,它们执行相同的提取。i、 e.两个FRC的fetch请求、managedObjectContext、sectionNameKeyPath和cacheName完全相同。 但是,它们返回两组不同的托管对象作为获取对象。 一是:

(
(实体:项;id:0x175125e0;数据:{resourceType=0;}),
(实体:项;id:0x17512560;数据:),
)
另一个:

<_PFBatchFaultingArray 0x18a6fac0>(
<Item: 0x17511360> (entity: Item; id: 0x175125e0 <x-coredata://5C2547EC-0420-4ED5-867D-087DEF4998EA/Item/p587> ; data: {resourceType = 0;}),
<Item: 0x176946a0> (entity: Item; id: 0x18a7f860 <x-coredata://5C2547EC-0420-4ED5-867D-087DEF4998EA/Item/p590> ; data: <fault>),
)
(
(实体:项;id:0x175125e0;数据:{resourceType=0;}),
(实体:项;id:0x18a7f860;数据:),
)
根据苹果公司的文件, ,我希望两个获取对象数组包含相同的托管对象

有什么不对劲吗?谢谢


更新:我注意到两个被触发的MOs是同一个,但故障是不同的

问题解决了。我想这是一个缓存问题。基本上有两种方式:

  • 在访问fetchedObjects数组之前,在两个NSFetchedResultsController上执行performFetch

  • 为两个NSFetchedResultsController设置委托


  • 但是检索到的值是相同的吗?你在控制台里检查过这个吗?给我们看看请求。
    <_PFBatchFaultingArray 0x18a6fac0>(
    <Item: 0x17511360> (entity: Item; id: 0x175125e0 <x-coredata://5C2547EC-0420-4ED5-867D-087DEF4998EA/Item/p587> ; data: {resourceType = 0;}),
    <Item: 0x176946a0> (entity: Item; id: 0x18a7f860 <x-coredata://5C2547EC-0420-4ED5-867D-087DEF4998EA/Item/p590> ; data: <fault>),
    )