0
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()