/**
(Designated Initializers and Convenience Initializers)
都是与类相关的
*/
class AB {
var a: Int
var b: Int
// 指定构造方法,不允许出现构造器代理,self.init(...)
init(a: Int,b: Int) {
self.a = a
self.b = b
print("Class AB init!")
}
// 便利构造方法 一定是通过调用其它的构造方法来实现初始化 self.init
convenience init(a: Int) {
// self.a = a
// b = 0
self.init(a: a,b: 0)
}
convenience init(b: Int) {
// self.init(a: 2,b: 0)
self.init(a: 8)
}
}
var ab: AB = AB.init(b: 9)
print(ab.a)
print(ab.b)
原文链接:https://www.f2er.com/swift/322379.html