Considere as duas classes:
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'
}
}
Não vejo por que isso não é permitido. No final das contas, o inicializador designado de cada classe é chamado com quaisquer valores de que precisam, então por que preciso me repetir em B
's init
especificando um valor padrão para x
novamente, quando a conveniência init
em A
bastará?