我在这个Apple's docs中找到了指定初始化程序的一些信息,但我不明白的是,每个类必须有一个且只有一个指定初始化程序吗?
例如, if class A
has initL, initM, initN
, whileclass B
继承自class A
and has怎么办initX, initY, initZ
。有没有一条规则说我们不能有initX
call [super initL]
, and initY
call [super initM]
, and initZ
call [super initN]
?
也就是说,不是所有的“辅助初始化器”都调用指定初始化器,然后每个指定初始化器都会调用[super initFoo]
超initFoo
类的指定初始化器,我们不能只有3个主初始化器,每个调用者对应的超类的3个主初始化器? (也就是说,这些都继承自NSObject
并只是调用self = [super init]
。)