Sto definendo un tipo di errore personalizzato con la sintassi di Swift 3 e desidero fornire una descrizione intuitiva dell'errore restituito dalla localizedDescription
proprietà Error
dell'oggetto. Come posso farlo?
public enum MyError: Error {
case customError
var localizedDescription: String {
switch self {
case .customError:
return NSLocalizedString("A user-friendly description of the error.", comment: "My error")
}
}
}
let error: Error = MyError.customError
error.localizedDescription
// "The operation couldn’t be completed. (MyError error 0.)"
Esiste un modo per localizedDescription
restituire la mia descrizione dell'errore personalizzata ("Una descrizione user-friendly dell'errore")? Si noti che l'oggetto errore qui è di tipo Error
e non MyError
. Ovviamente, posso lanciare l'oggetto su MyError
(error as? MyError)?.localizedDescription
ma c'è un modo per farlo funzionare senza trasmettere al mio tipo di errore?
MyError
unError
primo ed estendilo conLocalizedError
dopo? C'è una differenza se l'hai reso unLocalizedError
primo?