次の2つのクラスを考えます。
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
S」init
のデフォルト値を指定することでx
利便とき、再びinit
ではA
うまくやるだろうか?