理想情况下,一个符合 NSCoding 的类将使用 encodeWithCoder: 和 initWithCoder: (至少我直到最近才这么认为)按预期工作,而开发人员不必担心例程内部发生的事情(除非我对一个符合 NSCoding 的类的想法完全搞砸了!)
UIImageView 类是 NSCoding 兼容的。所以我不必担心如何使用 NSKeyedArchiver 和 NSKeyedUnarchiver 类对其进行序列化/反序列化。但是每次我尝试对 UIImageView 对象进行编码时,都会收到 UIImage 无法识别 encodeWithCoder: 方法的错误。
现在 UIImageView 在内部使用 UIImage 对象。但是编码不应该自己解决这个问题吗?
还是文档中指定的 NSCoding 合规性只是让用户知道他们可以实现 initWithCoder 和 encodeWithCoder 方法?
有人可以为我澄清一下吗!我彻底糊涂了!