我在SWIFT 3中遇到问题,尝试为请求禁用缓存,服务器发送更新的JSON文本,但我的应用程序仍显示旧数据。只有当蜂窝数据打开时才会发生这种情况,WIFI一切正常。 请告知如何解决这个问题,这是我的代码。谢谢!
let tim: String = String(Date().timeIntervalSinceReferenceDate)
let urlTim = url + "?timref=" + tim
URLCache.shared.removeAllCachedResponses()
URLCache.shared.diskCapacity = 0
URLCache.shared.memoryCapacity = 0
if let cookies = HTTPCookieStorage.shared.cookies {
for cookie in cookies {
HTTPCookieStorage.shared.deleteCookie(cookie)
}
}
var request = URLRequest(url: URL(string: urlTim)!, cachePolicy: URLRequest.CachePolicy.reloadIgnoringLocalAndRemoteCacheData, timeoutInterval: 10)
request.httpMethod = "POST"
request.httpBody = post.data(using: .utf8)
request.cachePolicy = URLRequest.CachePolicy.reloadIgnoringLocalAndRemoteCacheData
let task = URLSession.shared.dataTask(with: request)
{
data, response, error in guard let data = data, error == nil else { print("Network Error"); err?(); return; }
if let httpStatus = response as? HTTPURLResponse, httpStatus.statusCode != 200 { print("Network 200 error"); err?(); return; }
self.jsonResponse = String(data: data, encoding: .utf8)!;
}
task.resume()
答案 0 :(得分:0)
所以这是我的解决方案:
如果有人遇到这种情况并忘记添加cachepolicy选项,则必须手动清理缓存。代码生效后。