ios - CoreData故障-如何获取数据

标签 ios core-data relationship fault

我研究了大量关于 CoreData 返回错误而不是实际值的问题和文档:

Relationship 'whiskers' fault on managed object (0xb7abab0)

当我试图计算 mustache 的数量时会发生这种情况,例如:

self.numWhiskersLabel.text = [NSString stringWithFormat:@"%d", cat.whiskers.count];

即使我尝试直接记录 mustache 集,我仍然会出错:

NSLog(@"whiskers: %@", cat.whiskers);

我理解“在需要访问该对象的实际值之前,核心数据不会返回完整的对象。在此之前,您返回的每个对象都将是一个‘故障’。”这很好,但是此时需要访问实际值。我现在需要值(value)!那么我该如何摆脱这种矛盾呢?访问 Set 的计数怎么可能不被认为需要该值?

最佳答案

我没有从我的评论中得到任何反馈,所以我假设 whiskers 是一组 NSManagedObjects

该集合最初不会加载,因为它在内部来自数据库中的另一个表。当您访问 .whiskers.count 时,它仍然不需要去获取数据,因为您需要的只是集合中的 mustache 数量。

当你从集合中拔出一根 mustache 时,它就会出错,试试看

NSLog(@"whiskers: %@", [cat.whiskers.anyObject anyProperty]);

那应该给你一个加载的 NSManagedObject。

关于ios - CoreData故障-如何获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21106159/

相关文章:

ios - 使用 Facebook iOS SDK 分享后从 Facebook 注销

python - 如何从包含单行所有关系的csv文件中获取关系数据?

MySQL:如何选择和处理 "n to n"相关数据以提高性能

laravel中mysql和mongodb的关系

iPhone Google Chrome - 选项卡选择屏幕(分组的 UIViews)

ios - 如何在 iOS 中使用图像资源

ios - 用其他数组过滤一个数组

cocoa - 本地化核心数据属性

ios - NSManagedObjectContext 给出错误请求 ";",我不确定为什么

iOS,核心数据 : Faulting NSManagedObjects