【发布时间】:2010-11-17 20:03:21
【问题描述】:
我应该什么时候使用 initWithCoder: 方法?
【问题讨论】:
标签: iphone iphone-sdk-3.0 ios4
我应该什么时候使用 initWithCoder: 方法?
【问题讨论】:
标签: iphone iphone-sdk-3.0 ios4
是的,如果您在 IB 中使用自定义类,那么这些对象将使用 initWithCode: 方法进行实例化。因此,在您的班级中,您将覆盖:
-(id) initWithCoder:(NSCoder*)aDecoder {
if (! (self = [super initWithCoder:aDecoder]))
return nil;
// object has been created from IB... do initialization stuff here
return self;
}
【讨论】:
当您处理已归档的对象时,您应该使用initWithCoder: 方法。例如,当您专门使用NSKeyedUnarchiver 创建这些归档对象时,或者当您需要将自定义初始化代码添加到来自 xib 文件的对象时。
【讨论】: