桥接NSImage和UIImage

时间:2019-06-09 12:36:34

标签: ios swift macos

我有一个iphone应用程序,可以通过packages的形式下载其他内容,从而使其更加丰富。

此其他内容(软件包)是使用MAC OS应用程序构建的。

MAC OS应用程序用于收集资源和艺术品,进行布局并创建package

某些软件包包含序列化对象(NSCoder),其中包括NSImage对象。

我的问题是:iPhone上不存在NSImage。

是否可以将NSImage反序列化为UIImage?

2 个答案:

答案 0 :(得分:5)

将NSImage转换为NSData,然后将该NSData转换为UIImage。 注意:将图像数据保存到文件以供读取

MAC CODE
NSData *imageData = [self.someImage TIFFRepresentation];

iOS CODE
UIImage *image = [UIImage imageWithData: imageData];

答案 1 :(得分:1)

您可以在 macOS 上将图像存储为Data(即Encodable),然后在 iOS 上实例化UIImage >通过这样做:

let image = UIImage(data: yourData) // yields UIImage?