iOS开发之UIWebView缓存页面不刷新问题

众所周知,webview是iOS开发中常用的控件,可以用来加载一切链接。按用途划分可以加载网页、文本协议等,但都是以http/https开头的URL链接。
参考链接

问题是,UIWebview会自带缓存,导致web端更改了页面的css样式等,不能立马刷新
//方法一(重新启动APP后生效)
//清除webView的缓存
[[NSURLCache sharedURLCache] removeAllCachedResponses];
//方法二(重新启动APP后生效)
//清除请求
[[NSURLCache sharedURLCache] removeCachedResponseForRequest:self.request];

//清除cookies
NSHTTPCookie *cookie;
NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
for (cookie in [storage cookies]) {
   [storage deleteCookie:cookie];
}

//方法三(有效)
//加载请求的时候忽略缓存
self.request = [NSURLRequest requestWithURL:[NSURL URLWithString:htmlString] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:5.0];

内容转载自

WKWebView 清除缓存
iOS 9之后有了新的API
// 清除部分,可以自己设置
// NSSet *websiteDataTypes= [NSSet setWithArray:types];
// 清除所有
NSSet *websiteDataTypes = [WKWebsiteDataStore allWebsiteDataTypes];
//// Date from
NSDate *dateFrom = [NSDate dateWithTimeIntervalSince1970:0];
//// Execute
[[WKWebsiteDataStore defaultDataStore] removeDataOfTypes:websiteDataTypes modifiedSince:dateFrom completionHandler:^{
// Done
        NSLog(@"清楚缓存完毕");
}];

内容学习之互联网,仅供个人笔记之用。侵删


你可能感兴趣的:(iOS开发之UIWebView缓存页面不刷新问题)