自定义核心数据实体

时间:2011-05-14 17:32:55

标签: iphone objective-c core-data

如何创建一个包含自定义对象的Core Data Entity?

E.g。有可能持有的实体,例如,图像,音频剪辑,自定义哥斯拉对象。

这些如何保存和加载?使用NSData?

3 个答案:

答案 0 :(得分:1)

最好的方法是使用'transformable'属性。有关详细信息,请参阅此处的Core Data文档:

Non-Standard Persistent Attributes

答案 1 :(得分:1)

如果自定义类符合NSCoding协议,则可以使用Transformable Attributes。来自Apple章节Non-Standard Persistent Attributes pf Core Data Programming Guide的简短引用:

  

可转换背后的理念   属性是您访问的   属性为非标准类型,但是   幕后核心数据使用了   NSValueTransformer的实例   将属性转换为和从   NSData的实例。核心数据然后   将数据实例存储到   持久存储。

答案 2 :(得分:-2)

是的,您可以使用NSData

来完成

例如将UIImage转换为NSData

UIImage *img = [UIImage imageNamed:@"some.png"];

NSData *dataObj = UIImageJPEGRepresentation(img, 1.0);

然后您可以使用

将其保存在目录中
[dataObj writeToFile:fileName atomically:YES];

这里fileName是目录

中文件的路径