我正在使用 AfNetworking,我调用了新数据,但我一直在获取缓存的结果。因此,如果我在显示数据的 VC 中,弹出回根目录并更改服务器上的数据,然后等待 30 秒,当我推回 VC 时,我会看到旧数据。如果我在浏览器中点击 URL,我会看到正确的数据。如果我重新运行该应用程序,我将看到数据的更改。
我的服务器响应发回缓存控制标头:Cache-Control:max-age=10, public
据我所知,我总是得到一个 NSCachedURLResponse 并且缓存没有监听我的缓存控制策略。
在我的 AppDelegate 中,我设置了 SharedURLCache:
NSURLCache *URLCache = [[NSURLCache alloc] initWithMemoryCapacity:8 * 1024 * 1024 diskCapacity:8 * 1024 * 1024 diskPath:nil];
[NSURLCache setSharedURLCache:URLCache];
我如何设置 URLRequest:
NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:30.0];
我没有做任何涉及 NSURLCache 的事情。
有任何想法吗?
BooRanger