我正在使用一个服务器,它使用以下标头进行响应:
Cache-Control: no-cache
last-modified: Mon, 17 Dec 2018 14:47:19 GMT 以下代码:
let myTask = URLSession.shared.dataTask(request: myRequest, completionHandler: { ... })
myTask.resume() 正确发送If-Modified-Since标头。
但当我这么做的时候:
URLCache.shared.cachedResponse(for: myRequest) 我得到了一个nil结果,而使用:
URLCache.shared.getCachedResponse(for: myTask, completionHandler: { ... }) 我在completionHandler中得到了一个非nil结果。
我本以为两者都会给我类似的结果。有人能给我解释一下吗?
发布于 2018-12-24 22:03:18
这将检查我的本地缓存响应。
if let request = dataRequest.request {
if (URLCache.shared.cachedResponse(for: request) != nil) {
URLCache.shared.removeCachedResponse(for: request)
}
}你也可以根据苹果来检查它的定义。


https://stackoverflow.com/questions/53913600
复制相似问题