【问题标题】:Does calling the fetchedObjects property of an NSFetchedResultsController fault all objects?调用 NSFetchedResultsController 的 fetchedObjects 属性是否会导致所有对象出错?
【发布时间】:2012-06-23 02:51:50
【问题描述】:

我正在尝试调试strange problem I'm having,但我完全不知道从哪里开始。这个问题很简单:

我有一个 fetch 请求,它返回大约 2000 个对象,但 batchSize 为 15。所以只有 15 个对象被加载到内存中,其余的在需要时出错。我遇到的问题是,由于某种原因,当获取请求完成时,我的所有对象都立即出现故障。这大约需要 20 秒。我不明白为什么会这样。

这一定意味着我正在以某种方式访问​​所有这些对象,导致它们都出现故障。调用fetchedResultsController.fetchedObjects.count 是否会导致所有对象出现故障?

【问题讨论】:

标签: objective-c ios core-data


【解决方案1】:

文件是这样说fetchedObjects

如果获取请求没有谓词,则结果数组包含获取请求指定的实体的所有实例。

你想做什么?获取计数的正确方法是这样的:

id <NSFetchedResultsSectionInfo> sectionInfo = [controllers sections] objectAtIndex:section];

return [sectionInfo numberOfObjects];

【讨论】:

  • 我只是想弄清楚为什么我的对象都出现故障,即使我没有访问它们......即使我的表一次只显示 4 个单元格,也有超过 2000 个对象出现故障
  • 您停止使用 fetchedObjects 了吗?您永远不需要将其仅用于在表格视图中显示。
  • 是的,但没有任何影响
  • 在这种情况下,没有人可以继续提供任何信息。您需要发布有关您的模型以及您使用它的位置的信息。
猜你喜欢
  • 2012-10-30
  • 1970-01-01
  • 2018-08-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-18
  • 2019-07-10
  • 1970-01-01
相关资源
最近更新 更多