考虑两个类:
class A {
var x: Int
init(x: Int) {
self.x = x
}
convenience init() {
self.init(x: 0)
}
}
class B: A {
init() {
super.init() // Error: Must call a designated initializer of the superclass 'A'
}
}
我不明白为什么不允许这样做。最终,每个类的指定初始化叫他们需要的任何值,那么为什么我要重复我自己B
的init
通过指定一个默认值x
再次,当方便init
在A
会做得很好?