Objective c 核心数据-批量处理获取结果的属性

Objective c 核心数据-批量处理获取结果的属性,objective-c,ios,core-data,Objective C,Ios,Core Data,我从托管对象上下文中获取了一堆托管对象。这些对象有一个imageFilePath属性,它只是我保存到手机目录中的图像数据对象的路径。我的问题是-将所有这些数据对象批量转换为一组照片的最佳方式是什么 我正在考虑只对托管对象数组进行迭代,但这似乎有点低效。我也可以在我的模型中从这个属性创建一个单独的实体,并直接获取它们 有没有一种方法可以在获取的每个结果出现时对其应用一个块 谢谢 如果您担心核心数据方面的问题,请查看您可以在NSFetchRequest上设置的fetchBatchSize。你需要做一

我从托管对象上下文中获取了一堆托管对象。这些对象有一个imageFilePath属性,它只是我保存到手机目录中的图像数据对象的路径。我的问题是-将所有这些数据对象批量转换为一组照片的最佳方式是什么

我正在考虑只对托管对象数组进行迭代,但这似乎有点低效。我也可以在我的模型中从这个属性创建一个单独的实体,并直接获取它们

有没有一种方法可以在获取的每个结果出现时对其应用一个块


谢谢

如果您担心核心数据方面的问题,请查看您可以在
NSFetchRequest
上设置的
fetchBatchSize
。你需要做一些实验,看看什么尺寸最适合你,但是像
25
这样的东西是一个很好的起点。这样,核心数据就不会一次从磁盘中取出所有对象,而是一次将它们分为25个部分。您仍然可以看到一个正常的
NSArray
,核心数据在后台发挥了所有的作用。

迭代中的代码是什么?你说的“照片阵列”是指图像阵列?最后,您是一次展示所有这些照片,还是现在只展示几张,以后再展示其余的照片?如果您将Daniel的建议与在生成的NSArray上调用
enumerateObjectsUsingBlock:
相结合,那么基本上可以归结为您想要的:“在我获取的每个结果出现时应用一个块”。通过调整
fetchBatchSize
,您应该能够找到内存使用的平衡。