我的数据模型如下所示:
对象 A <----->> 对象 B <-----> 对象 C
我通过 NSFetchedResultsController 从核心数据中获取一组对象 A。对于该组中的一个特定对象,我知道它只有一个与之相关的对象 B,我想检索对象 C。
我正在尝试这样做:
NSArray *bArray = [objectA.relationA allObjects];
ObjectB *myB = bArray[0];
ObjectC *myC = myB.relationB;
(I've also tried [myB valueForKey:@"relationB"] with the same result)
问题是我无法为对象 C 触发错误 - 我一直为 myC 得到这个:
$6 = 0x0a947c00(实体:ObjectC;id:0xa9680b0;数据:)
我将这个值传递给另一个视图控制器,当它在那里访问时仍然是一个错误,这并不是非常有用。
当我有对象时必须重新获取似乎很愚蠢,但我不知道还能做什么。我可以找到的所有线程都说故障是正常的,并且当您访问故障对象时它们将被触发,但这似乎并没有发生在这里。
有什么建议么?
更新:我尝试添加这个:
[fetchRequest setRelationshipKeyPathsForPrefetching:@[@"relationA.relationB"]];
但这没有任何区别。