2016-03-04 77 views
0

这是我编辑的问题:限制从网页视图缓存大小上iOS应用

如何限制缓存大小从在网页视图iOS应用?

我可以使用这些代码之一吗?

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

或者是否有可能通过单击按钮清除缓存?

+0

有是描述如何删除UIWebView的chache的各种帖子。如[this](http://stackoverflow.com/questions/15054472/how-clear-uiwebview-cache)或[this](http://stackoverflow.com/questions/2523435/how-to-clear-uiwebview -cache)或[this](http://stackoverflow.com/questions/5468553/clearing-uiwebview-cache) – UditS

+0

您编辑的问题与原始问题完全不同,这使得Hugo的回答脱离了上下文。请回滚此问题,并考虑将其作为一个不同的/新的问题。 – UditS

回答

0

清除UIWebview缓存最简单的方法是:

Objective-C的

[[NSURLCache sharedURLCache] removeAllCachedResponses]; 

斯威夫特

现在
NSURLCache.sharedURLCache().removeAllCachedResponses() 

,对于你的情况,你可能想 计算适当的日期后使用此功能:

Clears the given cache of any cached responses since the provided date. 
    */ 
    @available(iOS 8.0, *) 
    public func removeCachedResponsesSinceDate(date: NSDate) 

一个好的情况是:

1。 - 将您清理缓存(或第一次使用该应用程序)的最后时间/日期存储在NSUserDefaults中。

2:输入您的应用程序每次(或background fetch)计算,如果有自该日起

3.-如果true是24小时以上,然后清除缓存,并返回步骤1

+0

嗨,谢谢你试图帮助我。但我是一个小菜,所以我无法做到这一点。你有我的代码示例吗? –

+0

这里有很多事情要考虑。试着研究一下这些话题,然后再回到我身边。张贴在这里将是非常大的。 –

+0

好的,我会做的。我有一个小问题:我必须使用什么来将缓存限制为例如五个网站? [[NSURLCache sharedURLCache] setDiskCapacity:X]; 或 [[NSURLCache sharedURLCache] setMemoryCapacity:X]; 请问X是以MB为单位的网站或数据的数量? –