0

由于每个类都从超类继承初始化程序,这就是我将默认实现链接init到其指定初始化程序的方式。(它正在工作。)

关联:

-(id)init {
    return [self initWithItemName:@"Default Value" 
                    valueInDollar:0 
                     serialNumber:@""];
}

初始化器:

-(id)initWithItemName:(NSString *)myItemName
        valueInDollar:(int)myValueInDollar
         serialNumber:(NSString *)mySerialNumber;

我的问题是,我是否总是必须按照我的方式链接我自己的初始化程序(链接)?那么如果没有下面的代码,就永远不会调用自己的初始化程序?我对吗?

-(id)init {
    return [self myInitMethod......"];
}
4

1 回答 1

1

如果你只用 初始化你的对象initWithItemName,那么你根本不需要定义init方法。初始化器只是普通的方法(不涉及魔法),所以你调用的就是将被调用的。但是实现该init方法是一种很好的做法,以便可以调用它并且对象将处于一致状态。

于 2012-04-06T09:08:45.070 回答