cocoa - NSImage 的动画在使用 NSKeyedArchiver 存档后丢失

标签 cocoa nsimage animated-gif nskeyedarchiver nsimageview

以下情况:

我有一个 NSObject 子类对象的实例。它的属性之一是 NSImage。实例化对象后,我使用 NSKeyedArchiver 将其转换为数据,通过网络发送它,使用 NSKeyedUnarchiver 取消存档,并在 NSImageView 中显示图像(设置动画:是)。到这里为止都没有问题。图像可以在另一台机器上显示。现在的问题是:
如果我发送 gif 动画,它不会有动画效果。我不知道为什么......有什么想法为什么动画不出现吗?谢谢!

更新

如果我在存档之前打开动画图像,NSImageView 会对其进行动画处理。问题可能是存档...

更新2

我测试了整个工作流程,没有通过网络发送数据,只是再次存档和取消存档。正如我怀疑的那样,这是 NSKeyed(Un)Archiver 的问题。
动画丢失了。 但是如何防止这种情况发生呢?

最佳答案

我会简单地归档原始图像数据,而不是图像实例。

关于cocoa - NSImage 的动画在使用 NSKeyedArchiver 存档后丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2238872/

相关文章:

cocoa - @firstObject 的集合对象运算符键值编码 KVC

cocoa - 如何将 Cocoa 文件类型图标写为 16x16 PNG 文件?

objective-c - cocoa [[NSWorkspace 共享工作空间] iconForFile :filePath caused memory leaks

c# - 如何在 DataGridView 中包含动画 gif?

objective-c - NSMutableDictionary 对每个值应用公式的最有效方法

ios - 替代iOS消息传递的“层”消息传递框架

objective-c - NSImageView圆角+描边

javascript - 检测浏览器对动画 GIF 图像的支持

gif - 如何从头开始播放gif动画

objective-c - AVFoundation 的 AVAssetWriterInput expectsMediaDataInRealTime 属性究竟做了什么?