2015-11-19 4 views
3

Я принял ошибку - ее ErrorType - в завершении.ErrorType in 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}}}) 

ответ

3

Код ошибки исходит от Objective C NSError. Чтобы получить код ошибки, сначала попробуйте ввести ErrorType в NSError. После этого вы можете получить доступ к коду через code. Вы можете достичь его, как это:

if let error = error as? NSError { 
    print(error.code) // this will print -1009 
} 

Для получения дополнительной информации, Вы можете обратиться к documentation