如何在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
森栏