Cómo agregar una descripción localizada para errores en Swift (protocolo Error)
¡Hola a todos! Estoy escribiendo mi aplicación en Swift 3 y me encontré con el problema de localizar los mensajes de error. Tengo mi propio tipo de error que implementa el protocolo Error:
enum MyError: Error {
case networkError
case invalidInput(String)
case unknown
}
Quiero que cuando ocurra un error, el usuario vea un mensaje comprensible en su idioma. Conozco NSLocalizedString, pero no entiendo cómo integrarlo correctamente con Error. Intenté hacerlo así:
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")
}
}
}
Pero cuando