2

我将 OSX 图标(NSImage)作为可转换属性存储在核心数据中。IOS 似乎无法解码 NSImage。

我有哪些选择可以在 Core Data 中存储兼容图像,使用可转换(或其他)属性并在 iOS 上访问图像。

目前,用户可以将自己的图像拖放到 NSImageWell 上,并将其作为 NSImage 存储在 Objective-c 类中。这显然被归档到可转换的核心数据中,当 iOS 尝试检索它时,它会抛出异常,因为它不理解 NSImage 对象。

除了 NSImage 我可以在 OS X 上使用与 iOS 兼容的其他东西吗?

4

1 回答 1

5

PNG(=便携式网络图形)是一个选项。

您可以使用(从How to save a NSImage as a new fileNSImage复制)转换为 PNG 数据:

NSImage *image = ...;
NSBitmapImageRep *imgRep = [[image representations] objectAtIndex: 0];
NSData *pngData = [imgRep representationUsingType: NSPNGFileType properties: nil];

并使用UIImage从 PNG 数据创建一个

UIImage *image = [UIImage imageWithData:pngData];
于 2013-08-18T11:43:25.873 回答