【发布时间】:2017-01-03 17:03:27
【问题描述】:
我正在使用 Swift 3 语法定义一个自定义错误类型,我想提供一个用户友好的错误描述,该错误由 Error 对象的 localizedDescription 属性返回。我该怎么做?
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.)"
localizedDescription 有没有办法返回我的自定义错误描述(“错误的用户友好描述。”)?注意这里的错误对象是Error 类型而不是MyError。当然,我可以将对象转换为 MyError
(error as? MyError)?.localizedDescription
但是有没有办法让它在不转换为我的错误类型的情况下工作?
【问题讨论】:
标签: swift swift3 error-handling nslocalizedstring