Considera le due classi:
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'
}
}
Non vedo perché questo non è permesso. In ultima analisi, inizializzatore designato di ogni classe viene chiamato con tutti i valori di cui hanno bisogno, quindi perché devo ripetermi in B
's init
specificando un valore predefinito per x
ancora una volta, quando la convenienza init
a A
farà bene?