您当前的位置: 首页 >  ui

培根芝士

暂无认证

  • 2浏览

    0关注

    446博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

iOS中UIWebView的缓存处理

培根芝士 发布时间:2019-11-01 18:58:28 ,浏览量:2

UIWebView请求网页链接的方法:

NSURL *url = [NSURL URLWithString:urlStr];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView loadRequest:request];

NSURLRequest的构造方式有两种:

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReturnCacheDataElseLoad timeoutInterval:30];

//和

NSURLRequest *request = [NSURLRequest requestWithURL:url];

cachePolicy是请求的缓存策略,类型为NSURLRequestCachePolicy,[NSURLRequest requestWithURL:]默认设置缓存策略为NSURLRequestUseProtocolCachePolicy,超时时间默认是60s。

typedef NS_ENUM(NSUInteger, NSURLRequestCachePolicy)
{
    //缓存策略根据网页协议中定义的缓存逻辑(如有效期等)
    NSURLRequestUseProtocolCachePolicy = 0,
    //忽略本地缓存
    NSURLRequestReloadIgnoringLocalCacheData = 1,
    //忽略本地缓存和远程代理的缓存
    NSURLRequestReloadIgnoringLocalAndRemoteCacheData = 4,
    NSURLRequestReloadIgnoringCacheData = NSURLRequestReloadIgnoringLocalCacheData,
    //有本地缓存则加载,没有则重新请求
    NSURLRequestReturnCacheDataElseLoad = 2,
    //有本地缓存则加载,没有也不重新请求,类似脱机工作
    NSURLRequestReturnCacheDataDontLoad = 3,
    //只使用原始源的数据
    NSURLRequestReloadRevalidatingCacheData = 5,
};

清除缓存的方法:

[[NSURLCache sharedURLCache] removeAllCachedResponses];
[[NSURLCache sharedURLCache] setDiskCapacity:0];
[[NSURLCache sharedURLCache] setMemoryCapacity:0];

清除Cookie的方法:

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

 

关注
打赏
1660824269
查看更多评论
立即登录/注册

微信扫码登录

0.1215s