我想从磁盘加载图像并将它们添加到核心数据中。我将属性设置为transformable
。
我想了解如何读取图像,然后将它们添加到实体中。后来我想用图像在图像中很好地显示图像。
我应该将文件读作NSData吗?
旁注,
我还有JSON中图像的base64数据。是否更好地阅读并将base64添加到核心数据?当我测试阅读并添加base64代码时,我得到的印象是它很慢
答案 0 :(得分:0)
建议的方法是将图像存储在文件系统中,并将文件名/部分路径存储在Core Data中。
原因是大BLOB
s(内部SQLite格式)会显着降低数据库速度。 Core Data只能合理地处理相对较小的图像(如缩略图)。
您对核心数据“缓慢”的体验正是由于这种现象。因此,您的图像不够小,无法存储在核心数据中。因此,您无需费心将Core Data存储的图像转换为UIImage
。您使用NSData
的方法是正确的。