Чтение следующего из NSHipster заставило меня задуматься о NSError, и если что-то может быть настроено так, что NSError неявно преобразуется в настраиваемый тип ошибки.Возможно ли установить неявное преобразование из NSError в пользовательскую ошибку в Swift?
Я создал следующее:
protocol NSErrorConvertible {
init(error: NSError)
}
и этот
struct CustomError: NSErrorConvertible {
var message: String
var code: String?
init(error: NSError) {
code = String(error.code)
message = error.localizedDescription
}
}
Однако, я не вижу ничего, что бы сделать неявное преобразование произойдет.
Я знаю, что такая функция существует в C++ с помощью одного конструктора аргументов. Есть ли что-то подобное в Swift с использованием протоколов или что-то еще?