选择性地获取核心数据以获得更好的性能(稍后获取大项目)

Posted

技术标签:

【中文标题】选择性地获取核心数据以获得更好的性能(稍后获取大项目)【英文标题】:Selectively fetching in Core Data for better performance (fetch large items later) 【发布时间】:2014-02-18 11:34:02 【问题描述】:

我正在开发一个 iPhone 应用程序,它使用一个包含大约 100 个实体的核心数据存储,每个实体具有以下属性:一些字符串、一个小缩略图和全尺寸图像(通过存储在外部记录文件中核心数据)。

这些被加载到 Fetched Results Controller 中以在表格视图中使用。为了提高加载速度并减少内存使用量,如何防止在选择单元格之前获取全尺寸图像?

我对 Core Data 很陌生,但是在这里可以使用 Fetched Property 吗?

非常感谢您的帮助!

【问题讨论】:

【参考方案1】:

我之前通过将图像移动到模型中自己的Entity 并添加回原始对象的关系来完成此操作。

新对象将类似于...

Image
----------
image (binary data) - store externally (same as the current image)
----------
object - relation to the original object

然后只需将原始实体中的属性替换为关系即可。

FRC 将只加载对象,然后当您加载时...object.image 然后它将获取您可以从中获取图像的图像对象。

【讨论】:

正是我需要的。现在一切都运行得如此顺利。干杯。

以上是关于选择性地获取核心数据以获得更好的性能(稍后获取大项目)的主要内容,如果未能解决你的问题,请参考以下文章

我应该将 jQuery 选择器组合到变量中以获得更好的性能吗? [复制]

NodeJS与带Mysql数据库的Laravel哪个性能更好?

如何获取用户输入并将其存储以稍后在 swift Xcode 中搜索网站

加速超时的 MySQL 查询

核心数据在获取时是不是返回对象AsFaults = NO 也有错误关系?

删除内核调用中的倍数以获得更好的性能