从NSHipster阅读以下内容让我想知道 NSError 以及是否可以设置一些东西以便 NSError 隐式转换为自定义错误类型。
我创建了以下内容:
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 中是否有类似的东西可以使用协议或其他东西?