我在完成时传递了一个错误 - 它是一个ErrorType
。
我可以在调试器中“启动”它,但是如何在swift代码中输出数字-1009。我能找到的唯一一个调用是'debugDescription'。那里有字典吗?
制作ErrorType子类的人基本上不为我所知。
po error
▿ Optional(Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline." UserInfo= {NSErrorFailingURLStringKey=https://xxxxxxxxxx.net/token, _kCFStreamErrorCodeKey=8, NSErrorFailingURLKey=https://xxxxxxxxxxx.net/token, NSLocalizedDescription=The Internet connection appears to be offline., _kCFStreamErrorDomainKey=12, NSUnderlyingError=0x145f7880 {Error Domain=kCFErrorDomainCFNetwork Code=-1009 "(null)" UserInfo={_kCFStreamErrorDomainKey=12, _kCFStreamErrorCodeKey=8}}})
答案 0 :(得分:3)
错误代码来自Objective C NSError
。要首先获取错误代码,请尝试将ErrorType
投射到NSError
。完成后,您可以通过code
属性访问代码。你可以这样做:
if let error = error as? NSError {
print(error.code) // this will print -1009
}
有关详细信息,请参阅documentation
答案 1 :(得分:0)
Xcode 8
和Swift 3
,条件转换始终成功
let errorCode = (error as NSError).code
替代方案
let errorCode = error._code