Так как Swift поддерживает метод и перегрузку инициализатора, вы можете поместить несколько init
рядом друг с другом и использовать то, что вы считаете удобным:
class Person {
var name:String
init(name: String) {
self.name = name
}
init() {
self.name = "John"
}
}
Итак, почему ключевое слово convenience
существует даже? Что делает следующие существенно лучше?
class Person {
var name:String
init(name: String) {
self.name = name
}
convenience init() {
self.init(name: "John")
}
}