Ios 即使没有internet连接,也可以通过数据获取响应
当没有internet连接时,我正在测试我的应用程序行为。当用户脱机时,Im例外会出现错误 当禁用internet连接时,我执行此代码并在控制台中获得“可选数据(53161字节)”输出Ios 即使没有internet连接,也可以通过数据获取响应,ios,swift,connection,response,urlsession,Ios,Swift,Connection,Response,Urlsession,当没有internet连接时,我正在测试我的应用程序行为。当用户脱机时,Im例外会出现错误 当禁用internet连接时,我执行此代码并在控制台中获得“可选数据(53161字节)”输出 func getCountries(request: @escaping (Data?, Error?) -> Void) { guard let url = url else { print("url is not valid") return } sessio
func getCountries(request: @escaping (Data?, Error?) -> Void) {
guard let url = url else { print("url is not valid")
return
}
session.dataTask(with: url) { (data, response, error) in
guard error == nil else {
request(nil, error)
return
}
print("data \(data)")
request(data, nil)
}.resume()
}
那么,为什么我在没有联系的情况下得到回应
谢谢 试试这个:
func getCountries(request: @escaping (Result<Data,Error>) -> Void) {
guard let url = URL(string: "yourURL") else {
print("url is not valid")
return
}
let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
guard error == nil else {
request(.failure(error!))
return
}
request(.success(data!))
}
task.resume()
}
隐藏物打印数据字符串化,可能是一些缓存响应…你是在真实设备上测试还是在模拟器上测试?我使用的是一个关闭wifi的模拟器,所有东西都在真实设备上工作。谢谢
getCountries() { result in
switch result {
case .failure(let error):
print(error.localizedDescription)
case .success(let success):
print(success)
}
}