55.iOSwebview cache 实现UIwebview离线缓存

林曦之
2023-12-01
iOS实现webview cache有两种方式,其中一种是重写

NSURLCache(继承NSURLCache)中的方法,但是该方法会引起一个问题就是,第一次加载的时候,会调用两次URL,也就是加载了两次数据------经理对此很不满意,于是自己继续在GitHub上乱逛,找到了另一种实现方式,即继承NSURLProtocol 但是这种方式你要注册你的NSURLProtocol  [NSURLProtocolregisterClass:[RNCachingURLProtocol class]];

具体实现请参阅RNCachingURLProtocol 开源代码

当NSURLConnection准备发起请求时,它会遍历所有已注册的NSURLProtocol,询问它们能否处理当前请求。所以你需要尽早注册这个Protocol。

https://github.com/rnapier/RNCachingURLProtocol   具体的大家可以到github下载  

具体实现原理大家可以参照这篇文章http://www.cocoachina.com/ios/20141225/10765.html

 类似资料: