このAppleのドキュメントで指定された初期化子の情報を見つけましたが、理解できないのは、各クラスには指定された初期化子が1つだけ必要ですか?
たとえば、class A
has initL, initM, initN
、 while class B
inherits fromclass A
および hasの場合はどうなるでしょうかinitX, initY, initZ
。initX
call [super initL]
、およびinitY
call [super initM]
、およびinitZ
callを使用できないというルールはあります[super initN]
か?
つまり、すべての「二次初期化子」が指定された初期化子を呼び出す代わりに、各指定された初期化子がスーパークラスの指定された初期化子である[super initFoo]
場所を呼び出します。 initFoo
? (そして、これらはすべて から継承されNSObject
、 を呼び出すだけself = [super init]
です。)