我正在使用UIWebView
发出一系列请求,我需要保持UIWebView
的缓存清除,以便我可以从头开始每个新请求。因此,在执行每个请求之前,我正在执行以下操作:
[[NSURLCache sharedURLCache] removeAllCachedResponses];
[[NSURLCache sharedURLCache] setDiskCapacity:0];
[[NSURLCache sharedURLCache] setMemoryCapacity:0];
但遗憾的是它并没有帮助。每次第一次请求大约需要4秒,而每次后续请求大约需要1.5秒时,显然加载的数据正在某处缓存。
我还明确地尝试了为请求设置缓存策略,如下所示:
NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:URL];
request.cachePolicy = NSURLRequestReloadIgnoringLocalCacheData;
[self.webView loadRequest:request];
但它也无济于事。第一个请求比下面的请求花费更长的时间。就像没有为请求设置缓存策略一样。
任何想法,伙计们?
答案 0 :(得分:0)
试试这段代码:
NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (NSHTTPCookie *each in cookieStorage.cookies)
{
[cookieStorage deleteCookie:each];
}
答案 1 :(得分:0)
尝试使用NSURLCacheStorageNotAllowed
。这指定不允许以任何方式在NSURLCache
中存储,无论是在内存中还是在磁盘上。
↳Foundation Framework Reference > NSCachedURLResponse Class Reference