كيفية إضافة وصف مترجم للأخطاء في 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")
}
}
}
لكن عندما