0

我正在寻找一种内存有效的方法来从获取结果集中只获取一行。这必须是随机的。

我想使用[context countForFetchRequest:fetch error:nil];并获得一个介于 0 和那个之间的 int 随机值,然后将 offset + 限制为 1 个结果。但我找不到它是否没有为它计数的每个项目分配内存。

“计数”是轻量级操作吗?还是需要先在上下文中实例化对象才能对它们进行计数?

4

1 回答 1

2

文档有些不清楚,但它包含“给定获取请求将返回的对象数”这一短语。此外,Core Data 倾向于使事情变得count非常轻量 - 例如,实体实例允许您调用count以找出一对多关系结束时的对象数量,而无需实例化所有这些对象或触发该错误。我会说去吧,但你自己分析一下——不要过早地优化!

于 2012-07-13T22:18:17.347 回答