Ios Can';t禁用UIWebView缓存

Ios Can';t禁用UIWebView缓存,ios,objective-c,caching,uiwebview,nsurlrequest,Ios,Objective C,Caching,Uiwebview,Nsurlrequest,我正在使用UIWebView发出一系列请求,我需要清除UIWebView的缓存,以便可以从头开始每个新请求。因此,在执行每个请求之前,我将执行以下操作: [[NSURLCache sharedURLCache] removeAllCachedResponses]; [[NSURLCache sharedURLCache] setDiskCapacity:0]; [[NSURLCache sharedURLCache] setMemoryCapacity:0]; 但不幸的是,这没有帮助。每次第一

我正在使用
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];
但这也没用。第一个请求比下面的请求花费的时间要长得多。就像根本不为请求设置缓存策略一样

有什么想法吗,伙计们?

试试下面的代码:

NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
    for (NSHTTPCookie *each in cookieStorage.cookies)
    {
        [cookieStorage deleteCookie:each];
    }

尝试使用不允许的NSURLCacheStorageNotAllowed。这指定不允许以任何方式在
NSURLCache
中存储,无论是在内存中还是在磁盘上


谢谢你的回答,但是我不知道如何使用这个常数。NSCachedURLResponse类实例是由iOS在完全没有我的情况下创建的。我是否应该以某种方式拦截缓存响应对象的创建?您可以提供更多信息吗?在您的请求中,您可以使用它,如:
NSURLRequest*request=[NSURLRequest requestWithURL:URL cachePolicy:NSURLCacheStorageNotAllowed timeoutInterval:10.0]不幸的是,它没有帮助。看来你弄错了。NSURLCacheStorageNotAllowed的类型为NSURLCacheStoragePolicy,指定用于NSCachedURLResponse类,而NSURLRequest的cachePolicy为NSURLRequestCachePolicy可能我不明白您想要做什么;您是在试图清除请求url响应缓存,还是完全是另一回事?如果是这样,那么你已经做的就足够了。您还可以尝试
removeCachedResponseForRequest
,尽管
removeCachedResponses
应该可以工作。我希望UIWebView根本不使用其缓存。我希望它总是从远程服务器加载数据,而不是从一些本地存储中获取数据。不幸的是,这没有帮助