由于 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")
}
}