swift WebView缓存问题

在网络编程的过程中,缓存操作的应用十分广泛

在使用缓存技术过程中,需要的注意点:

1、经常更新的数据,不能使用缓存技术

2、不经常更新的数据,果断使用缓存技术

3、如果存在大量请求,并且使用缓存技术,则需要定期清除缓存数据

如下附上缓存操作代码

[objc]view plaincopy

override func touchesBegan(touches: NSSet, withEventevent: UIEvent) {

let uri ="http://www.baidu.com";

let url = NSURL(string: uri)!;

let request = NSMutableURLRequest(URL: url);

/**

*  .设置缓存策略

*  .UseProtocolCachePolicy:依赖于请求头的设置,默认状态;

*  .ReloadIgnoringLocalCacheData:忽略缓存,重新请求服务器

*  .ReturnCacheDataElseLoad:有缓存使用缓存,无缓存请求服务器

*  .ReturnCacheDataDontLoad:离线模式,有缓存使用缓存,无缓存不请求服务器

*/

request.cachePolicy= NSURLRequestCachePolicy.ReturnCacheDataElseLoad;

// 获得全局缓存对象

let cache = NSURLCache.sharedURLCache();

//

let response = cache.cachedResponseForRequest(request);

ifresponse ==nil{

// 本地无缓存

println("no cache");

}else{

// 本地有缓存

println("exist cache");

// 将当前请求的缓存数据删除,获取最新数据

cache.removeCachedResponseForRequest(request);

// 清除所有缓存

// cache.removeAllCachedResponses();

}

NSURLConnection(request: request,delegate:self);

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,778评论 18 399
  • 一. Java基础部分.................................................
    wy_sure阅读 3,839评论 0 11
  • 过了双11才想起来有各种书要买,我的,孩子的,于是12号清晨在当当网上下单,看似还有优惠。樊登读书会也在优惠最后一...
    顾鸣芬阅读 281评论 0 3
  • 180 120 80 58 87 Contents.json { "images" : [ { "idiom" :...
    博行天下阅读 1,092评论 0 0