如何为Swift中的错误(Error协议)添加本地化描述
大家好!我正在用Swift 3编写我的应用程序,遇到了错误消息本地化的问题。我有一个实现了Error协议的错误类型:
enum MyError: Error {
case networkError
case invalidInput(String)
case unknown
}
我希望当错误发生时,用户能看到用他们语言表达的清晰消息。我知道NSLocalizedString,但不知道如何正确地将其与Error集成。我尝试这样做:
extension MyError: LocalizedError {
var errorDescription: String? {
switch self {
case .networkError:
return NSLocalizedString("Ошибка сети", comment: "Network error")
case .invalidInput(let field):
return NSLocalizedString("Неверный ввод в поле \(field)", comment: "Invalid input")
case .unknown:
return NSLocalizedString("Неизвестная ошибка", comment: "Unknown error")
}
}
}
但是当