#ios #cocoa-touch #uiviewcontroller #swift #ios8
#iOS #cocoa-touch #uiviewcontroller #swift #ios8
Вопрос:
Скажем, у моего UIViewController
есть два свойства, var animal: String
и var color: UIColor
.
Как мне создать пользовательский init
интерфейс, чтобы я мог легко создать это в коде?
Я хочу иметь:
init(animal: String, color: UIColor) {
self.animal = animal
self.color = color
}
Но я получаю ошибку компилятора, что я не использую назначенный инициализатор. Что я делаю не так / как я должен делать это правильно?
Ответ №1:
Вызовите super.init()
после установки этих свойств. Это должно сработать. Ваш метод должен выглядеть следующим образом:
init(animal: String, color: UIColor) {
self.animal = animal
self.color = color
super.init()
}
Комментарии:
1. Обычно в Swift super.init должен вызываться последним.
2. super.init() не является назначенным инициализатором UIViewController