swift - 处理 UrlSession 任务中的 NotConnectedToInternet 错误

标签 swift error-handling urlsession

我想在 URLSession 数据任务中处理 NSURLErrorNotConnectedToInternet。我正在将应用程序安装到手机,然后关闭 wifi 以处理 NSURLErrorNotConnectedToInternet。但是即使没有互联网,错误总是返回 nil?在终端中显示“完成错误 - 代码:-1009”消息。但是错误是零。如果错误不为零,我不会处理事件。代码在这里:`
函数 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")
}

关于swift - 处理 UrlSession 任务中的 NotConnectedToInternet 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53500622/

相关文章:

ios - 多个复选框选择并单独打印选中的行标题

ios - UICollectionView 滚动更改选定的单元格

ios - swift 5 : Why is my data within struct suddenly empty/nil?

ios - 如何将下载的文件加载到 NSData 变量中

mysql - 每天自行减少MySQL列中的值

ios - URLSession 完成处理程序应用程序崩溃

swift - 在 Swift 中为图像添加阴影

swift 4 : nil loading local UIImage

python - 处理函数中 Python 错误的最佳方法

vba - 如何检测 COM 类方法是否在 VBA 中失败