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