Avatar ·

如何为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")
        }
    }
}
但是当