【发布时间】:2013-02-22 20:57:15
【问题描述】:
我在这个Apple's docs中找到了指定初始化器的一些信息,但我不明白的是,每个类必须只有一个指定初始化器?
例如,如果class A 具有initL, initM, initN,而class B 继承自class A 并具有initX, initY, initZ,该怎么办。有没有规定不能让initX 调用[super initL],initY 调用[super initM],initZ 调用[super initN]?
也就是说,不是所有的“辅助初始化器”都调用指定初始化器,然后每个指定初始化器都会调用[super initFoo],其中initFoo是超类的指定初始化器,我们不能只有3个主初始化器吗?每个调用者对应的超类的 3 个主初始化器? (也就是说,这些都继承自NSObject,只需调用self = [super init]。)
【问题讨论】:
标签: objective-c initializer designated-initializer