如何在Swift中提供带有Error类型的本地化描述?
我正在使用Swift 3语法定义自定义错误类型,我想提供一个用户友好的错误描述,该描述由对象的localizedDescription属性返回Error。我该怎么做?
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
但是有没有办法让它工作而不会转换为我的错误类型?
繁华开满天机
慕虎7371278
森栏