core-data - 核心数据:延迟加载二进制属性/仅在访问时加载
问题描述
我有一个相当大的元素列表(几千个条目),其中包含存储 PDF 文档的二进制属性(最多可以达到几 MB)。
我怎样才能获取除二进制属性之外的所有元素,而不是立即获取,而是仅在通过访问它时获取element.document
?
解决方案
如果我是你,我会将 PDF 保存到本地文件系统,并且只将文件夹/文件名存储在 CoreData。(注意,您应该只存储相对于 Documents 目录(或其他定义的文件夹)的文件夹和文件名,而不是文件的完整路径,因为 Documents 文件夹实际上可以更改(例如,随着您的应用程序的新版本)。
如果出于某种原因您不想走这条路,您可以将属性与一对一的关系替换为一个新的、单独的实体,该实体只有一个 PDF 数据的属性。默认情况下,关系不会出现故障,即使原始对象出现故障也是如此。
推荐阅读
- reactjs - 如何在 ReactJS 中隐藏或显示字段(使用 antd 组件)?
- ios - 使用 FCM 的 iOs 推送通知
- arduino - 如何获得 Arduino 机器人令牌?
- reactjs - 如何在一个语义 UI 手风琴下制作多个表单字段?
- swift - ipad 和 iphon xcode 上的尺寸等级问题
- swift - swift中的datePicker和validateDate条件
- oauth-2.0 - Google OAuth 2.0 中用户 ID 唯一性的范围
- ruby-on-rails - 从 HTTP.get('/my_pdf') 在浏览器中显示 pdf
- javascript - 我们可以在 CSS 中设置页码以仅打印特定页面吗?
- android - Flutter - 支持多种 BuildType 的构建