2011-12-16 135 views
2

我正在尝试以最有效的方式做到这一点。想想苹果在iPhone上建立的地址簿 - 这就是我想在这里复制的。在核心数据中保存照片

一个实体,Person和多个属性,但每个Person可以有一张照片。

保存实体照片的最佳方法是什么?

回答

11
为您保存照片或在我看来,任何大数据

最好的办法是将它们保存到一个文件,并存储为核心的数据实体的字符串的文件路径...

+1

如果你必须支持4.x设备,这是要走的路。 – 2011-12-16 21:08:52

8

在iOS 5.0+和Mac OS X 10.7+中,存储Core Data的二进制数据是一种很好的新方法。 NSAttributeDescription现在有一个名为allowsExternalStorageBOOL财产。

从文档...

如果这个值是YES,相应属性可以被存储在一个文件 外部到持久存储本身。

这意味着二进制数据将被保存到磁盘,并且该数据项的引用将被Core Data自动存储在持久存储区中。在Xcode模型编辑器中,只需在检查器视图中检查该属性的选项即可启用该功能。

NSAttributeDescription Inspector - Allows External Storage


对于5.0版之前,您需要保存图片关闭用户的文档目录,然后在保存前将文件添加URL到你的模型对象。

+0

感谢您的更新回答.. – 2012-03-03 13:14:53