NSURLRequestReturnCacheDataElseLoad不工作?

时间:2013-11-07 18:32:13

标签: ios objective-c caching nsurlrequest nsurlcache

我已经使用了NSURLRequestReturnCacheDataElseLoad,但它不起作用,即每次我收到的数据不同时,它总是从服务器加载数据。

我想知道:

  1. 即使使用NSURLRequestReturnCacheDataElseLoad策略,它也会服从服务器响应的缓存控制头,而不管文档是否忽略过期日期?

  2. [NSURLCache sharedURLCache]的存储政策是什么?如果它只在内存中,那么下次启动应用程序时它不会在磁盘上有缓存吗?

  3. 我发现这非常有趣:

  4. NSURLRequestReturnCacheDataElseLoad not loading from cache on first request?

      

    似乎只有在网址中有查询时才会出现此问题。

    这是确定的问题吗?

    由于

1 个答案:

答案 0 :(得分:0)

这个主题已经差不多5年了,但我最近才遇到同样的问题。就我而言,我使用的是NSURLSessionDownloadTask,根据Can I use HTTP caching with an NSURLSessionDownloadTask on iOS?,无论使用哪种缓存策略,都不使用缓存。我将代码切换为使用NSURLSessionDataTask,NSURLRequestReturnCacheDataElseLoad策略按预期工作。