【问题标题】:Load image from file - save in core data - show image with bindings从文件加载图像 - 保存在核心数据中 - 显示带有绑定的图像
【发布时间】:2013-01-20 12:51:59
【问题描述】:

我想从磁盘加载图像并将它们添加到核心数据中。我有一个属性设置为transformable

我想了解如何阅读图像然后将它们添加到实体中。稍后我想使用绑定在图像中显示图像。

我应该将文件读取为 NSData 吗?

旁注,

我还有 JSON 格式的图片的 base64 数据。读取base64并将其添加到核心数据会更好吗?当我测试阅读和添加 base64 代码时,我的印象是它很慢

【问题讨论】:

    标签: cocoa core-data nsdata cocoa-bindings


    【解决方案1】:

    推荐的方法是将图像存储在文件系统中,并将文件名/部分路径存储在 Core Data 中。

    原因是大的BLOBs(内部 SQLite 格式)会显着降低您的数据库速度。只有相对较小的图像(例如缩略图),Core Data 才能合理处理。

    您对 Core Data “慢”的体验正是由于这种现象。因此,您的图像不足以存储在核心数据中。因此,您无需费心将 Core Data 存储的图像转换为UIImage。您使用NSData的方法是正确的。

    【讨论】:

    • 感谢您的回答!假设我将文件的路径存储在 Core Data 中,如何在与 Image Well 的绑定中使用它?关于 BLOB,“存储在外部记录文件中”不能解决这个问题吗?
    • 在外部存储图像当然会消除在 Core Data 中存储 BLOB 的需要。我只是提到它作为解释。建议的设置完全独立于您呈现数据的方式,包括 Image Well。
    • 正如您所说,我所做的是将图像文件的路径添加到 Core Data 中。然后我使用“值路径”进行绑定。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多