Вибачення, якщо про це вже просили раніше, я багато шукав, і багато відповідей були з попередніх бета-версій Swift, коли все було інакше. Здається, я не можу знайти остаточної відповіді.
Я хочу підклас UIViewControllerі мати власний ініціалізатор, щоб дозволити мені легко встановити його в коді. У мене проблеми з цим у Swift.
Я хочу init()функцію, яку я можу використовувати для передачі певної, яку NSURLя потім буду використовувати з контролером перегляду. На мою думку це виглядає приблизно так init(withImageURL: NSURL). Якщо я додаю цю функцію, він просить мене додати init(coder: NSCoder)функцію.
Я вважаю, що це тому, що це позначено в суперкласі requiredключовим словом? Тож я повинен це робити в підкласі? Додаю:
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
Що тепер? Чи вважається мій спеціальний ініціалізатор convenienceодним? Призначений? Чи слід викликати суперініціатор? Ініціалізатор з того ж класу?
Як додати свій спеціальний ініціалізатор до UIViewControllerпідкласу?