iOS:NSURLCache,带有NSURLSession和HTTP头
iOS:NSURLCache,带有NSURLSession和HTTP头,ios,caching,afnetworking,nsurlcache,Ios,Caching,Afnetworking,Nsurlcache,NSURLCache是一种既没有正确记录,也没有按照预期表现的黑暗艺术魔法 我正在使用AFNetworking的AFHTTPSessionManager来利用nsursession。我使用mocking服务创建自定义HTTP响应 我正在使用磁盘容量和所有缓存策略设置NSURLCache 然后在NSURLSessionTaskDelegate的URLSession:task:didcompletewitheror方法中,我执行以下操作: NSURLRequest *request = ta
NSURLCache
是一种既没有正确记录,也没有按照预期表现的黑暗艺术魔法
我正在使用AFNetworking
的AFHTTPSessionManager
来利用nsursession。我使用mocking服务创建自定义HTTP响应
我正在使用磁盘容量和所有缓存策略设置NSURLCache
然后在NSURLSessionTaskDelegate
的URLSession:task:didcompletewitheror
方法中,我执行以下操作:
NSURLRequest *request = task.currentRequest;
NSCachedURLResponse *cachedResponse = [[NSURLCache sharedURLCache] cachedResponseForRequest:request];
文档说明了有关请求的缓存响应:
@结果NSCachedURLResponse以给定的
请求,如果没有与存储的NSCachedURLResponse,则为nil
根据要求
AFNetworking的常见问题解答指出:
只要NSURLRequest对象具有正确的缓存策略,
并且您的服务器响应包含有效的缓存控制标头,
响应将自动缓存以供后续请求使用
在所有这些之后,我的假设是,若缓存控件设置不正确,cachedResponse
变量的值将为零。然而,无论我到目前为止尝试做什么——将其设置为“private”、“no cache”或其他什么——cachedResponse始终包含缓存响应。如何验证缓存机制是否按预期工作?设置中是否缺少任何内容
我一直在做我的测试,首先在网上提出请求,然后在我的电脑上关闭互联网。XCode 7.0测试版iOS 9.0
感谢您的帮助