Ich definiere einen benutzerdefinierten Fehlertyp mit Swift 3-Syntax und möchte eine benutzerfreundliche Beschreibung des Fehlers bereitstellen, der von der localizedDescription
Eigenschaft des Error
Objekts zurückgegeben wird. Wie kann ich es tun?
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.)"
Gibt es eine Möglichkeit localizedDescription
, meine benutzerdefinierte Fehlerbeschreibung zurückzugeben ("Eine benutzerfreundliche Beschreibung des Fehlers.")? Beachten Sie, dass das Fehlerobjekt hier vom Typ ist Error
und nicht MyError
. Ich kann das Objekt natürlich in MyError umwandeln
(error as? MyError)?.localizedDescription
Aber gibt es eine Möglichkeit, es zum Laufen zu bringen, ohne auf meinen Fehlertyp umzusteigen?
MyError
eineError
erste machen und sieLocalizedError
später erweitern? Gibt es einen Unterschied, ob Sie es überhaupt geschafftLocalizedError
haben?