我研究了大量有关CoreData返回错误而不是实际值的问题和文档:
Relationship 'whiskers' fault on managed object (0xb7abab0)
当我尝试获取晶须数量时,会发生这种情况,例如:
self.numWhiskersLabel.text = [NSString stringWithFormat:@"%d", cat.whiskers.count];
即使我尝试直接记录晶须设置,也仍然会出错:
NSLog(@"whiskers: %@", cat.whiskers);
我了解到“在需要访问该对象的实际值之前,核心数据将不会返回完整的对象。在这一点上,每个返回的对象都是'故障'。”很好,但是需要在此时访问实际值。我现在需要价值!那么,如何摆脱这种矛盾?如何不访问Set的计数不认为需要该值?
最佳答案
这是一个错误情况。该NSManagedObject
实例出了点问题。在您访问它之前,它已被删除,或者您尝试从错误的线程中对其进行触摸。
请编辑您的问题,并显示正在访问该NSManagedObject
的代码。
另外,在调试器中仅执行po cat
时会发生什么情况?您看到完整的Cat
对象,还是给出了错误错误?