【发布时间】:2022-01-30 05:13:52
【问题描述】:
我想实现一种方法来检查在我使用 Alamofire 4.9 执行的网络调用期间网络是否弱或断开连接 - 以下是我目前正在尝试做的事情,但我注意到如果网络它关闭它从不跳到这一行:
URLError.Code.notConnectedToInternet
为什么会发生这种情况,有没有更好的尝试方法?
//Fetch new data
guard let url = URL(string: "test.com")
else { return }
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.httpBody = "value1=test1&value2=test2".data(using: .utf8)
URLSession.shared.dataTask(with: request) { [self] data, _, error in
guard let data = data else { return }
do {
let decoder = JSONDecoder()
let res = try decoder.decode([Structure].self, from: data)
}
}
catch {
if let err = error as? URLError, err.code == URLError.Code.notConnectedToInternet {
// No internet
} else {
print(error)
}
}
}.resume()
【问题讨论】: