我有一个自定义对象,可以在iOS应用和OSX应用中使用。它看起来像这样:
@interface Preset : NSObject
#if TARGET_OS_IPHONE
@property (nonatomic, strong) UIImage *thumbnail;
@property (nonatomic, strong) UIImage *customThumbnail;
#else
@property (nonatomic, strong) NSImage *thumbnail;
@property (nonatomic, strong) NSImage *customThumbnail;
#endif
@property (nonatomic, strong) NSDictionary *parms;
@property (nonatomic, strong) NSString *name;
@end
我希望无论我在哪里创建它,都可以在iOS和OSX中加载和保存对象。
我打算实现简单加载和保存的NSCoding方法,但后来我发现我无法在OSX上创建Preset文件并在iOS中使用它因为NSImage之间的差异和UIImage。
我确定这是一种简单的方法,但我不会看到它。
任何?
谢谢!
答案 0 :(得分:4)
将UIImage
或NSImage
转换为包含图片PNG表示的NSData
。然后在NSData
设置中使用NSCoding
。