iOS UIWebView清除缓存

2018-04-13  本文已影响0人  ME进哥哥

iOS  UIWebView清除缓存,解决H5页面不能刷新数据

最近在做一个项目,用户在个人中心修改了个人信息之后,回到H5页面,重新加载H5页面,H5页面的用户信息并没有刷新,要退出APP之后,再点击进入H5页面,数据才会刷新。后面才发现UIWebView自带缓存。后面查找相关资料,说用这种加载方式可以解决:

NSURLRequest  *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:5.0];

然后满怀期待的Command + R,修改用户信息,打开H5页面,尼玛,并没有什么卵用。

后面找到了下面这种方法,完美解决。在H5页面即将消失的时候,清除缓存和Cookie

- (void)viewWillDisappear:(BOOL)animated

{

    [super viewWillDisappear:animated];

    [self cleanCacheAndCookie];

}

/**清除缓存和cookie*/

- (void)cleanCacheAndCookie

{

    //清除cookies

    NSHTTPCookie *cookie;

    NSHTTPCookieStorage *CookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];

    for(cookie in [CookieStorage cookies]){

        [CookieStorage deleteCookie:cookie];

    }

    //清除UIWebView的缓存

    [[NSURLCache sharedURLCache] removeAllCachedResponses];

    NSURLCache * cache = [NSURLCache sharedURLCache];

    [cache removeAllCachedResponses];

    [cache setDiskCapacity:0];

    [cache setMemoryCapacity:0];

}

上一篇 下一篇

猜你喜欢

热点阅读