以下のオーバーロードされたイニシャライザでは、[self initWith..] を呼び出しても問題ありませんか? [super init] がまだ行われていないときに「self」で何かを呼び出しているのでしょうか。
私がこれをテストしたとき、これはすべてうまくいきます。[super init] 呼び出しの前でも、「self」でメソッドを呼び出すことができるということですか? 誰でもこれを理解するのを手伝ってもらえますか?
-(id)initWithObjectA:(id)objectA{
if (self = [super init]) {
//Do other initializations
//Use ObjectA
}
return self;
}
-(id)initWithObjectA:(id)objectA andWithObjectB:(id)objectB{
if (self = [self initWithObjectA:objectA]) {
//Use ObjectB
}
return self;
}
//More overloading initializers
ありがとう。