我什么时候使用initWithCoder:方法?

cgo*_*ain 6 iphone iphone-sdk-3.0 ios4

我什么时候应该使用initWithCoder:方法?

Bra*_*ams 11

是的,如果您在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;
}
Run Code Online (Sandbox Code Playgroud)


Ste*_*ntz 5

initWithCoder:在处理已归档的对象时,应该使用该方法.例如,当您专门用于NSKeyedUnarchiver创建这些存档对象时,或者需要将自定义初始化代码添加到来自xib文件的对象时.