Ios 如何使用NSURLSession在Web服务调用中使用NSURLCache
我正在使用NSURLSession的应用程序中使用Web服务,并希望使用NSURLCache缓存我的Web服务调用,以优化应用程序的速度。如果服务器上有任何更新,也应在后台重新加载缓存Ios 如何使用NSURLSession在Web服务调用中使用NSURLCache,ios,iphone,web-services,nsurlcache,Ios,Iphone,Web Services,Nsurlcache,我正在使用NSURLSession的应用程序中使用Web服务,并希望使用NSURLCache缓存我的Web服务调用,以优化应用程序的速度。如果服务器上有任何更新,也应在后台重新加载缓存 我怎样才能做到这一点?请建议……我对您的问题没有确切的答案,但这些链接可以帮助您: 我对你的问题没有确切的答案,但这些链接可以帮助你: NSURLSession根据标准协议缓存策略,默认情况下使用缓存,这基本上意味着如果缓存控制头允许缓存,如果它没有过期,如果它是一个GET请求,如果请求小于缓存大小的5%左右,等
我怎样才能做到这一点?请建议……我对您的问题没有确切的答案,但这些链接可以帮助您:
我对你的问题没有确切的答案,但这些链接可以帮助你:
NSURLSession根据标准协议缓存策略,默认情况下使用缓存,这基本上意味着如果缓存控制头允许缓存,如果它没有过期,如果它是一个GET请求,如果请求小于缓存大小的5%左右,等等,它将缓存它,并将在您再次请求时使用缓存 但是,听起来您还希望能够在编程控制下清除缓存。为此,在创建会话之前,首先将会话配置上的URLCache属性设置为新分配的NSURLCache 稍后,当您想要清除缓存时,只需对该缓存对象调用removeAllCachedResponses方法
当然,问题是如何知道服务器上是否发生了更改,以及是否正在缓存所有请求。很可能,您至少需要在禁用缓存的情况下发出一些请求。当然,详细信息是特定于您尝试执行的操作的。NSURLSession根据标准协议缓存策略,默认情况下使用缓存,这基本上意味着如果缓存控制头允许缓存它,如果它没有过期,如果它是GET请求,如果请求小于缓存大小的5%左右等,它将缓存它,并在您再次请求时使用缓存 但是,听起来您还希望能够在编程控制下清除缓存。为此,在创建会话之前,首先将会话配置上的URLCache属性设置为新分配的NSURLCache 稍后,当您想要清除缓存时,只需对该缓存对象调用removeAllCachedResponses方法 当然,问题是如何知道服务器上是否发生了更改,以及是否正在缓存所有请求。很可能,您至少需要在禁用缓存的情况下发出一些请求。当然,细节是具体到你想做什么