处理UrlSession任务中的NotConnectedToInternet错误

时间:2018-11-27 13:17:27

标签: swift error-handling urlsession

我想在URLSession datatask中处理NSURLErrorNotConnectedToInternet。我正在将应用程序安装到手机上,然后关闭wifi以处理NSURLErrorNotConnectedToInternet。但是即使没有互联网,错误总是返回零。在终端“错误完成-代码:-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()

}`

请帮助我。谢谢

1 个答案:

答案 0 :(得分:0)

您可以将错误向下转换为URLError,然后如果向下转换的错误代码属性等于URLError.notConnectedToInternet,则表明此错误是在没有互联网连接的情况下发生的

if (error as! URLError).code == URLError.notConnectedToInternet {
    print("No internet connection")
}