Definiuję niestandardowy typ błędu za pomocą składni Swift 3 i chcę podać przyjazny dla użytkownika opis błędu zwracanego przez localizedDescription
właściwość Error
obiektu. Jak mogę to zrobić?
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.)"
Czy istnieje sposób na localizedDescription
zwrócenie mojego niestandardowego opisu błędu („Przyjazny dla użytkownika opis błędu.”)? Zauważ, że obiekt błędu jest tutaj typu, Error
a nie typu MyError
. Mogę oczywiście rzutować obiekt na MyError
(error as? MyError)?.localizedDescription
ale czy istnieje sposób, aby działał bez rzutowania na mój typ błędu?
MyError
Error
LocalizedError
LocalizedError