Hata bildirimi has only one property localizedDescription. NSObject ve Error öğesinden devralınan özel bir nesne oluşturmaya çalıştım ancak localizedDescription öğesini geçersiz kılamıyorum. Bunu nasıl yapabilirim?Swift 3'teki özel Hata için localizedDescription nasıl geçersiz hale getirilir?
Bu kod bana özel açıklama almak için izin vermez:
class MyError: NSObject, Error {
var desc = ""
init(str: String) {
desc = str
}
override var description: String {
get {
return "MyError: \(desc)"
}
}
var localizedDescription: String {
get {
return self.description
}
}
}
func test_my_code() {
let error = MyError(str: "my test string")
let x = error as Error
print(x.localizedDescription)
}
çağrılması fonksiyonu "test_my_code" beklenmeyen bir sonuç almak: "işlemi tamamlanamadı ...".
"MyError: test dizgim" sonucunu almak için ne yapmalıyım?
ihtiyacınız olmayacak 'override' ? –
Hata yeni bir özellik ile genişletemez ve bunun yerine bunu okuyamazsınız? – Honey
@SunilChauhan no. Protokolden herhangi bir şey geçersiz kılınmamalıdır. 'Geçersiz kıl' eklemek derlemeyi bozar. – Speakus