在核心数据模型中存储NSImage的正确方法是什么?我假设向实体添加一个属性并给它类型"二进制"应该工作,但它不起作用.我有一个带有NSImageCells列的表,它没有显示任何内容.
如果你可以使用10.5+,最简单的方法是NSImageRep
在"Transformable"属性中存储图像的s.默认情况下,可转换属性使用NSCoding在访问时将其值存档在set和unarchive上.这样您就不必编写自定义getter/setter.如果你想获得幻想,你可以编写一个自定义NSValueTransformer
,将图像转换为其表示的实现版本,反之亦然.如果你使用10.4,那么你必须编写自定义的getter/setter方法(见苹果的创建文档非标准持久属性,你可以通过发送获取图像的图像代表NSImage
一个-representations
消息.
如果要通过绑定在UI中显示图像,还应阅读Cocoa Bindings编程主题的" 使用绑定显示图像"部分.
这不能回答您提出的确切问题,但根据您存储的图像数量,可以更有效地仅将路径或URL存储到图像中,保存在您自己的位置,并根据需要加载它们.
您需要创建它的NSData表示.
看看非标准持久属性.特别是"可转换属性"下的部分,以及"自定义代码"(如果不对您进行排序).