Почему назначенный инициализатор не может вызвать вторичный инициализатор в своем базовом классе?

Согласно документации, назначенный инициализатор класса в Objective-C должен вызывать назначенный инициализатор своего базового класса.

Другое правило состоит в том, что вторичные инициализаторы должны вызывать назначенный инициализатор своего собственного класса.

Но если соблюдается второе правило, почему назначенный инициализатор не может вызвать вторичный инициализатор в своем базовом классе? Этот базовый вторичный инициализатор в конечном итоге вызовет DI своего собственного уровня, поэтому объект все равно будет правильно инициализирован, верно?

Разница, по-видимому, заключается в том, кто выбирает значения по умолчанию для отсутствующих переменных — вы или ваш базовый класс.

9
задан Josh Caswell 7 April 2012 в 08:33
поделиться