DESIGNATED,CONVENIENCE 和 REQUIRE

2017-08-16  本文已影响10人  陌上北辰

所有的 convenience 初始化方法都必须调用同一个类中的 designated 初始化完成设置,另外 convenience 的初始化方法是不能被子类重写或者是从子类中以 super 的方式被调用的。
class ClassA {
let numA: Int
init(num: Int) {
numA = num
}
convenience init(bigNum: Bool) {
self.init(num: bigNum ? 10000 : 1)
}
}

class ClassB: ClassA {
let numB: Int

override init(num: Int) {
numB = num + 1
super.init(num: num)
}
}

可以看喵神的tip:http://swifter.tips/init-keywords/

上一篇下一篇

猜你喜欢

热点阅读