理想情况下,NSCoding兼容类将使用encodeWithCoder:和initWithCoder按预期工作:(至少我认为直到最近),开发人员不必担心例程内部的内容(除非我对NSCoding兼容类的想法完全搞砸了) !)
UIImageView类符合NSCoding.所以我不应该打扰如何使用NSKeyedArchiver和NSKeyedUnarchiver类对它进行序列化/反序列化.但每次我尝试编码UIImageView对象时,都会收到UIImage无法识别的错误:encodeWithCoder:method.
现在UIImageView内部使用UIImage对象.但编码是否应该自己处理?
或者文档中指定的NSCoding合规性是否让用户知道他们可以实现initWithCoder和encodeWithCoder方法?
有人可以帮我澄清一下!我很困惑!
Mountain Lion引入了新的API,其中一些我们已经在项目中作为类别实现.
对于例子,我们有一个类别NSColor+CGColorAdditions是实现CGColor和colorWithCGColor:为NSColor.Mountain Lion中添加了这些方法.
理想情况下,如果客户端操作系统比Mountain Lion更旧,我们希望使用这些类别,如果是Mountain Lion,则不使用它们.我们应该怎么做?还是有更好的选择吗?