Вспомогательные инициализаторы convenience init()
В языке Swift вспомогательные инициализаторы являются вторичными, поддерживающими инициализаторами для класса. Существуют три правила, которые нужно соблюдать, используя вспомогательные инициализаторы:
Правило 1
Назначенный инициализатор должен вызывать назначенный инициализатор из super-класса. И он может вызывать только этот инициализатор. Мы должны инициализировать свои собственные свойства перед тем, вы вызовите инициализатор super-класса. Но мы должны вызывать init своего super-класса перед тем, как присваивать значения наследуемым (inherited) свойствам из вашего super-класса
Правило 2
Вспомогательный инициализатор должен вызывать другой инициализатор из того же класса. Он также может быть вспомогательным. В конечном итоге вспомогательный инициализатор должен вызывать назначенный инициализатор СВОЕГО класса. Это нужно сделать перед тем, как мы начнем работать с любыми значениями свойств или с методами. Другими словами мы должны сделать первоначальную инициализацию нашего объекта прежде, чем начнем «удобным» способом «поправлять» свойства в нем.
Правило 3
Вспомогательный инициализатор в конечном счете должен вызывать назначенный инициализатор.
// // proSwift.ru // class Food { var name: String init(name: String) { self.name = name } convenience init() { self.init(name: "[Unnamed]") } }
Добавить комментарий