处理 UrlSession 任务中的 NotConnectedToInternet 错误
Handle NotConnectedToInternet error in UrlSession task
我想在 URLSession 数据任务中处理 NSURLErrorNotConnectedToInternet。我正在将应用程序安装到 phone,然后关闭 wifi 以处理 NSURLErrorNotConnectedToInternet。但是即使没有互联网,错误总是 returns nil?在终端 "finished with error - code: -1009" 中显示消息。但是错误是零。如果错误不为零,我不会处理事件。代码在这里:`
func getData() {
let urlString = "http://142.93.186.88/api/v1/auctions/list/\((selectedMenu?.id)!)"
guard let url = URL(string: urlString)
else {return}
URLSession.shared.dataTask(with: url){ (data, response, error) in
guard let data = data else { return }
do{
let content = try JSONDecoder().decode(HerracDetailModel1.self, from: data)
for i in 0..<content.data.count {
self.detailLists.append(content.data[i])
}
}
catch let jsonError{
print(jsonError)
}
if (error == nil)
{
DispatchQueue.main.async {
self.table.reloadData()
}
}
if(error != nil)
{
print("There is internet")
}
}.resume()
}`
请帮助我。谢谢
您可以将错误向下转换为 URLError
,然后如果向下转换的错误代码 属性 等于 URLError.notConnectedToInternet
,您就知道此错误与没有互联网连接有关
if (error as! URLError).code == URLError.notConnectedToInternet {
print("No internet connection")
}
我想在 URLSession 数据任务中处理 NSURLErrorNotConnectedToInternet。我正在将应用程序安装到 phone,然后关闭 wifi 以处理 NSURLErrorNotConnectedToInternet。但是即使没有互联网,错误总是 returns nil?在终端 "finished with error - code: -1009" 中显示消息。但是错误是零。如果错误不为零,我不会处理事件。代码在这里:`
func getData() {
let urlString = "http://142.93.186.88/api/v1/auctions/list/\((selectedMenu?.id)!)"
guard let url = URL(string: urlString)
else {return}
URLSession.shared.dataTask(with: url){ (data, response, error) in
guard let data = data else { return }
do{
let content = try JSONDecoder().decode(HerracDetailModel1.self, from: data)
for i in 0..<content.data.count {
self.detailLists.append(content.data[i])
}
}
catch let jsonError{
print(jsonError)
}
if (error == nil)
{
DispatchQueue.main.async {
self.table.reloadData()
}
}
if(error != nil)
{
print("There is internet")
}
}.resume()
}`
请帮助我。谢谢
您可以将错误向下转换为 URLError
,然后如果向下转换的错误代码 属性 等于 URLError.notConnectedToInternet
,您就知道此错误与没有互联网连接有关
if (error as! URLError).code == URLError.notConnectedToInternet {
print("No internet connection")
}