如何使用NSURLSess使用NSURLCache和My Web服务调用

时间:2015-09-21 15:27:18

标签: ios iphone web-services nsurlcache

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

我怎么能做到这一点?请建议......

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

NSURLSession 默认情况下使用缓存,基于标准协议缓存策略,这基本上意味着如果缓存控制头允许缓存它,如果它没有过期,如果它是 GET 请求,如果请求小于缓存大小的5%左右,则会缓存它,并在您再次请求时使用缓存。

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

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

当然,问题是如果您要缓存所有请求,您将如何知道服务器上是否有更改。有可能,你需要至少做一些禁用缓存的请求。当然,细节是针对您要做的事情。