Core Data - 批量处理获取结果的属性
Posted
技术标签:
【中文标题】Core Data - 批量处理获取结果的属性【英文标题】:Core Data - batch handling the attributes of fetched results 【发布时间】:2012-08-22 23:42:31 【问题描述】:我有一堆从托管对象上下文中获取的托管对象。这些对象有一个 imageFilePath 属性,它只是保存到手机目录中的图像数据对象的路径。我的问题是 - 将所有这些数据对象批量转换为一组照片的最佳方法是什么?
我正在考虑只遍历托管对象的数组,但这似乎有些低效。我也可以在我的模型中从这个属性创建一个单独的实体,然后直接获取它们。
有没有一种方法可以在获取的每个结果中应用一个块?
谢谢!
【问题讨论】:
你迭代中的代码是什么? “照片数组”是指 UIImage 数组?最后,您是一次展示所有这些照片,还是现在只展示几张,其余的稍后展示? 【参考方案1】:如果您担心核心数据方面的问题,请查看您可以在 NSFetchRequest
上设置的 fetchBatchSize
。您必须进行一些试验才能看到最适合您的尺寸,但像 25
这样的东西是一个很好的起点。这样,Core Data 不会一次从磁盘中获取所有对象,而是一次对 25 个对象进行故障处理。你仍然可以看到一个普通的NSArray
,Core Data 在后台执行所有的魔法。
【讨论】:
..如果您将 Daniel 的建议与在生成的 NSArray 上调用enumerateObjectsUsingBlock:
结合起来,它基本上可以归结为您想要的:“在我获取的每个结果中应用一个块”。通过调整fetchBatchSize
,您应该能够找到所需的内存使用平衡。以上是关于Core Data - 批量处理获取结果的属性的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET Core Web 应用程序系列- 在ASP.NET Core中使用Autofac替换自带DI进行构造函数和属性的批量依赖注入(MVC当中应用)
springboot 整合 mongodb实现 批量更新数据
ASP.NET Core Web 应用程序系列- 在ASP.NET Core中使用Autofac替换自带DI进行构造函数和属性的批量依赖注入(MVC当中应用)