Considérez les deux 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'
}
}
Je ne vois pas pourquoi ce n'est pas autorisé. En fin de compte, l'initialiseur désigné de chaque classe est appelée avec toutes les valeurs dont ils ont besoin, alors pourquoi dois - je me répéter dans B
« s init
en spécifiant une valeur par défaut de x
nouveau, lorsque la commodité init
en A
fera très bien?