Когда класс когда-либо будет иметь более одного назначенного инициализатора?

Прочитав документацию Apple на Советы и методы для разработчиков Framework , я наткнулся на это утверждение о назначенных инициализаторах:

] Назначенный инициализатор - это метод init класса, который вызывает метод init суперкласса. (Другие инициализаторы вызывают методы init , определенные классом.) Каждый открытый класс должен иметь один или несколько назначенных инициализаторов.

(Курсив мой.)

Исходя из моего понимания - и, действительно, из самого употребления слова «назначенный» - у класса должен быть только один назначенный инициализатор. Но согласно документации допускается использование нескольких назначенных инициализаторов.

Предполагая, что у вас есть два (или более) назначенных инициализатора, их роль заключается в вызове назначенного инициализатора суперкласса, чтобы гарантировать правильную инициализацию объекта. Но если оба назначенных инициализатора вызывают назначенный инициализатор одного и того же суперкласса, тогда зачем вообще было нужно больше одного? Разве не следует реорганизовать класс, чтобы направить все остальные методы init к единственному назначенному инициализатору?

Я просто немного не понимаю, какой вариант использования или шаблон проектирования будут вызывать несколько назначенных инициализаторов. ?

8
задан CIFilter 21 September 2011 в 14:56
поделиться