核心DAta:从获取的结果中获取随机行

时间:2012-07-13 22:04:47

标签: objective-c core-data count

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

我想使用[context countForFetchRequest:fetch error:nil];并获得介于0和之间的int随机值,并且偏移+将获取限制为1。但我无法确定它是否为每个重要项目分配内存。

"计数"轻量级的操作?或者它是否需要在能够计算它们之前在上下文中实例化对象?

1 个答案:

答案 0 :(得分:2)

documentation有点不清楚,但它包含“给定获取请求将返回的对象数”这一短语。此外,Core Data倾向于使count之类的东西非常轻量级 - 例如,实体实例允许您调用count以找出多对多关系结束时的对象数量而无需实例化所有这些对象或解雇那个错误。我会说它去做,但是自己进行描述 - 不要过早优化!