由于每个类都从超类继承初始值设定项,因此这是我链接的方式
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......"];
}
答案 0 :(得分:1)
如果您只使用initWithItemName
初始化对象,则根本不需要定义init
方法。初始化器只是普通的方法(不涉及魔法),所以你所调用的是将被调用的内容。但是,优良作法是实现init
方法,以便可以调用它,并且对象将处于一致状态。