Ich definiere einen benutzerdefinierten Fehlertyp mit Swift 3-Syntax und möchte eine benutzerfreundliche Beschreibung des Fehlers bereitstellen, der von der localizedDescriptionEigenschaft des ErrorObjekts 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 Errorund 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?
MyErroreineErrorerste machen und sieLocalizedErrorspäter erweitern? Gibt es einen Unterschied, ob Sie es überhaupt geschafftLocalizedErrorhaben?