Core Data 可以在 iOS 上延迟获取 BLOB 属性吗?

Posted

技术标签:

【中文标题】Core Data 可以在 iOS 上延迟获取 BLOB 属性吗?【英文标题】:Can Core Data lazy-fetch a BLOB attribute on iOS? 【发布时间】:2010-10-20 15:57:09 【问题描述】:

我将照片作为可转换属性存储在我的核心数据实体中,这是要加载到 iPhone 内存中的大量数据。如果我想展示一个列出所有实体(可能数百或数千)的 TableView,但只需要显示它们的标题,Core Data 是否仍会在需要之前获取每张照片并将其存储在 RAM 中?

我想要做的是仅当用户选择要在另一个 ViewController 中查看的记录时才“延迟获取”照片。最节省内存的方法是什么?

【问题讨论】:

【参考方案1】:

在更多的 RTFM 之后自己找到了答案。简而言之:没有。如果您想将照片存储在 Core Data 模型中,那么最好为与主实体一对一关系的照片创建一个单独的实体类型。仅当您在代码中实际需要它时,内置的错误行为才会延迟获取照片实体。

在此处记录:http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/CoreData/Articles/cdPerformance.html#//apple_ref/doc/uid/TP40003468-SW5

【讨论】:

以上是关于Core Data 可以在 iOS 上延迟获取 BLOB 属性吗?的主要内容,如果未能解决你的问题,请参考以下文章

iOS Core Data 对多关系插入/获取

iOS:将 GCD 与 Core Data 结合使用

IOS/objective-c/core-data:如何从相关实体获取属性

Core Data 可以在 iOS 上提供哪些(如果有)ACID 保证?

在 OS X 服务器上运行的 DB 可以与 iOS 上的 Core Data 很好地同步?

如何从 PickerView 中的 Core Data 中获取数据? iOS