首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分别缓存两个two视图

分别缓存两个two视图
EN

Stack Overflow用户
提问于 2016-04-26 17:43:44
回答 1查看 81关注 0票数 0

我的application.One中有两个uiwebview,一个是浏览器webview,另一个是屏保webview。我想分别缓存这两个webview,并在返回主页时为浏览器webview清除缓存,并保持屏幕保护webview的缓存不变。这是可能的吗?怎么做?

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-04-26 18:14:28

是的,这是可能的,但只有在以下两种情况下才有可能:

第一种方法。条件:您可以根据请求来自的域来区分请求(更简单的IMO)

  1. 编写自定义NSURLCache子类并将其设置为sharedUrlCache。在这里,记录正在缓存的所有请求。股票缓存只能在给定特定请求的情况下找到缓存的响应,但您需要向clearAllCachedRequestsForDomain()添加一个方法。

第二种方式。条件:您没有进行ajax调用/嵌入式iframes

  1. 在webview的委派中,实现shouldStartLoadWithRequest并保留一个数组请求,以便以后可以在(缓存)中区分请求的来源您现在有2个数组,其中包含每个webview

的请求

  1. 当你想要清除一个webview的缓存而不是另一个时,调用NSURLCache.sharedURLCache().removeCachedResponseForRequest,向它传递你想要清除的数组元素!=>你使用标准的缓存,并且只从一个webview

中移除请求

注意:如果webview1和webview2不共享公共请求数据,这将起作用。(例如,如果请求的所有NSURLCache都不同:D)如果请求“重叠”,您需要使用自定义URL子类为请求保留两个单独的缓存!(也有可能!)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36861144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档