Iphone 在岩心数据中保存照片
我正在尽可能以最有效的方式做这件事。想想苹果在iPhone上内置的地址簿——这就是我在这里试图复制的内容 一个实体,Iphone 在岩心数据中保存照片,iphone,objective-c,ios,core-data,Iphone,Objective C,Ios,Core Data,我正在尽可能以最有效的方式做这件事。想想苹果在iPhone上内置的地址簿——这就是我在这里试图复制的内容 一个实体,Person和多个属性,但每个Person可以有一张照片 为实体保存照片的最佳方式是什么 在我看来,保存照片或任何大型数据的最佳方法是将它们保存到文件中,并将文件路径作为字符串存储在核心数据实体中…在XCode中的托管对象模型文件(.momd)中,为Person实体添加一个属性,并将其类型设置为“Transformable”。在可转换属性中,可以存储符合NSCoding协议的任何类
Person
和多个属性,但每个Person
可以有一张照片
为实体保存照片的最佳方式是什么 在我看来,保存照片或任何大型数据的最佳方法是将它们保存到文件中,并将文件路径作为字符串存储在核心数据实体中…在XCode中的托管对象模型文件(.momd)中,为Person实体添加一个属性,并将其类型设置为“Transformable”。在可转换属性中,可以存储符合
NSCoding
协议的任何类型的对象,幸运的是,UIImage
就是其中之一。
有关NSCoding的更多信息,请参阅Apple文档:在iOS 5.0+和Mac OS X 10.7+中,有一种全新的存储二进制数据和核心数据的方法
NSAttributeDescription
现在有一个名为allowsExternalStorage
的BOOL
属性
从文档中
如果该值为“是”,则相应的属性可能存储在
持久存储本身外部的文件
这意味着二进制数据将被持久化到磁盘,对该项的引用将由核心数据自动存储在持久化存储中。在Xcode模型编辑器中,只需在inspector视图中选中该属性的选项即可启用此功能
对于5.0之前的版本,您需要将图像保存到用户的文档目录中,然后在保存之前将文件URL添加到模型对象。如果您必须支持4.x设备,这是一种方法。