3 HAZİRAN 2014, Salı
Swift sınıfta hata: Özellik süper değil başlatıldı.başlatma çağrısı
İki sınıf Shape
Square
var
class Shape {
var numberOfSides = 0
var name: String
init(name:String) {
self.name = name
}
func simpleDescription() -> String {
return "A shape with \(numberOfSides) sides."
}
}
class Square: Shape {
var sideLength: Double
init(sideLength:Double, name:String) {
super.init(name:name) // Error here
self.sideLength = sideLength
numberOfSides = 4
}
func area () -> Double {
return sideLength * sideLength
}
}
Ben yukarıdaki uygulama ile hata alıyorum:
property 'self.sideLength' not initialized at super.init call
super.init(name:name)
Neden super.init
aramadan önce self.sideLength
ayarlamak zorunda mıyım?
CEVAP
3 HAZİRAN 2014, Salı
Sorunuzun cevabını Swift Programlama Dili, alıntı:
“Swift derleyici dört yararlı güvenlik kontrol emin olmak için yapar iki fazlı başlatma hatası olmadan tamamlandı:”
Güvenlik “belirlenmiş Bir başlatıcı. çünkü her sağlamalıdır kontrol 1 “özellikleri kendi sınıfı tarafından ortaya önce başlatıldı delegeler üst sınıf bir başlatıcı.”
Alıntı: Apple Inc. “Swift Programlama Dili” oyun arasından seçim yapabilirsiniz.. https://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11
Bunu Paylaş:
ModelState.AddModelError - Ne'bir...
“Hata VM başlatma sırasında bir hata o...
3.1.0 ActionView::raylar Şablon: Hata ...
Git submodule 'referans' hat...
() süper yükseltir "eğer data: tü...