0

我的代码看起来像

if([[self cache] isEqualToNumber:[[NSNumber alloc] initWithInt:1]])
{
    [[NSURLCache sharedURLCache] setDiskCapacity:4 * 1024 * 1024];
    [[NSURLCache sharedURLCache] setMemoryCapacity:32 * 1024 * 1024];
    [self setRequestObj:[NSURLRequest requestWithURL:loadUrl cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0]];
}
else [self setRequestObj:[NSURLRequest requestWithURL:loadUrl cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60.0]];

我的其他部分不起作用。为什么我UIWebView没有忽略我的本地缓存?

每次我访问测试站点时,我的应用程序都不会从原始源加载。他只加载 index.html 但链接的图像只在第一次访问时加载。

我的问题是什么?

4

2 回答 2

0

NSURLRequestReloadIgnoringLocalCacheData 标志只影响那个请求,而不影响未来的请求。所以这按预期工作。如果你想禁用其他缓存,我知道的唯一方法是实现一个 NSURLProtocol 来拦截 HTTP/HTTPS 请求,以可识别的方式修改它们(例如添加自定义标头),然后重新发送它们. 这不适合胆小的人。

您最好只清除缓存:如何清除 UIWebView 缓存?

于 2016-08-03T04:15:02.580 回答
0

我有同样的问题,我认为这可能是一个 UIWebView 错误。因为在我更改了 WKWebView 之后,NSURLRequestReloadIgnoringLocalCacheData 有效!

于 2016-12-08T06:36:00.463 回答