如何使用 NSURLSession 将 NSURLCache 与我的 Web 服务调用一起使用

How to use NSURLCache with My Web service calls using NSURLSession

我在我的应用程序中使用 NSURLSession 的 Web 服务,并希望使用 NSURLCache 来缓存我的 Web 服务调用以优化速度 app.And 如果服务器上有任何更新,缓存也应该在后台重新加载。

我怎样才能做到这一点?请推荐......

我没有准确回答你的问题,但这些链接可以帮助你: blog question question

NSURLSession 默认使用缓存,基于标准协议缓存策略,这基本上意味着如果缓存控制头允许它被缓存,如果它没有expired,如果是GET请求,如果请求小于缓存大小的5%左右等等,就会缓存起来,当你使用缓存的时候再次请求。

但是,听起来您还希望能够在程序控制下清除缓存。为此,在创建会话之前,首先将会话配置上的 URLCache 属性 设置为新分配的 NSURLCache

稍后,当您想要清除缓存时,只需对该缓存对象调用 removeAllCachedResponses 方法即可。

当然,问题是如果您正在缓存所有请求,您将如何知道服务器上是否发生了某些更改。很有可能,您至少需要在禁用缓存的情况下发出一些请求。当然,详细信息取决于您要执行的操作。