İki sınıfı düşünün:
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'
}
}
Buna neden izin verilmediğini anlamıyorum. Sonuçta, her sınıfın belirlenen başlatıcı halde neden kendimi tekrarlamak gerekiyor, ihtiyaç duydukları herhangi değerlerle denir B
s' init
için varsayılan değerini belirleyerek x
kolaylık zaman, yine init
de A
sadece yeterli olacaktır?