以下情况:
我有一个 NSObject
子类对象的实例。它的属性之一是 NSImage。实例化对象后,我使用 NSKeyedArchiver
将其转换为数据,通过网络发送它,使用 NSKeyedUnarchiver
取消存档,并在 NSImageView
中显示图像(设置动画:是)。到这里为止都没有问题。图像可以在另一台机器上显示。现在的问题是:
如果我发送 gif 动画,它不会有动画效果。我不知道为什么......有什么想法为什么动画不出现吗?谢谢!
更新
如果我在存档之前打开动画图像,NSImageView
会对其进行动画处理。问题可能是存档...
更新2
我测试了整个工作流程,没有通过网络发送数据,只是再次存档和取消存档。正如我怀疑的那样,这是 NSKeyed(Un)Archiver 的问题。
动画丢失了。 但是如何防止这种情况发生呢?
最佳答案
我会简单地归档原始图像数据,而不是图像实例。
关于cocoa - NSImage 的动画在使用 NSKeyedArchiver 存档后丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2238872/