Considere las dos clases:
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'
}
}
No veo por qué esto no está permitido. En última instancia, el inicializador designado de cada clase se llama con los valores que necesiten, entonces, ¿por qué necesito repetirme en B
's init
especificando un valor predeterminado para x
nuevamente, cuando la conveniencia init
en funcionará A
bien?