具有可能未实现NSCoding的属性的NSCoding类

时间:2011-02-22 23:35:28

标签: iphone objective-c cocoa-touch

处理这种情况的正确方法是什么?

我想在我的类Foo中实现NSCoding,但它有一个名为bar的类型为“id”的通用属性。

@interface Foo : NSObject <NSCoding> {
    id bar;
}

@property (nonatomic, retain) id bar;

@end

如果该属性没有实现NSCoding,我不想编码我的对象的不完整表示,那么我如何优雅地失败(请记住我的对象可能被编码为更大的一部分)图)?

1 个答案:

答案 0 :(得分:0)

是;或者不编码bar或编码代表bar的内容。

如果您尝试对包含非编码兼容对象的集合类实例进行编码,则它将为barf。