在核心数据模型中存储 NSImage 的正确方法是什么?我假设向实体添加属性并为其指定“二进制”类型应该可以工作,但它不起作用。我有一个包含 NSImageCells 列的表格,但它没有显示任何内容。
最佳答案
如果您可以在 10.5+ 中工作,最简单的方法是将图像的 NSImageRep
存储在“Transformable”属性中。默认情况下,可转换属性使用 NSCoding 在设置时存档其值并在访问时取消存档。这使您不必编写自定义 getter/setter。如果你想变得更奇特,你可以编写一个自定义的 NSValueTransformer 来将图像转换为其表示形式的存档版本,反之亦然。如果您使用的是 10.4,那么您必须编写自定义 getters/setters(请参阅 Apple 关于创建 Non-standard persistent attributes 的文档。您可以通过向 NSImage
发送 -representations 来获取图像的图像代表
消息。
如果您想通过绑定(bind)在 UI 中显示图像,您还应该阅读 Displaying Images Using Bindings Cocoa 绑定(bind)编程主题部分。
关于cocoa - 在核心数据模型中存储 NSImage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/599344/