在iOS中清除缓存目录的最佳做法是什么?

在iOS中清除缓存目录的最佳做法是什么?,第1张

概述我使用NSURLRequestReturnCacheDataElseLoad缓存策略将网页加载到WKWebview.我不需要清除缓存,除非 服务器显然告诉我这样做.但是一旦服务器告诉我这样做,我就很难清除缓存. 大多数答案和文章表明removeAllCachedResponses有效,尽管有几个投诉在流传 关于NSURLCache与NSURLSession或UIWebView无法正常工作.我无法在 我使用NSURLRequestReturnCacheDataElseLoad缓存策略将网页加载到WKWebvIEw.我不需要清除缓存,除非
服务器显然告诉我这样做.但是一旦服务器告诉我这样做,我就很难清除缓存.

大多数答案和文章表明removeAllCachedResponses有效,尽管有几个投诉在流传
关于NSURLCache与NSURLSession或UIWebVIEw无法正常工作.我无法在iOS 8.4或9.3模拟器中使用它.

所以我使用以下代码以编程方式清除缓存目录中的所有文件.我在WKWebvIEw中使用的网站缓存文件
驻留在Application / Cache / bundleIDentifIEr中.虽然,我尝试删除所有可用的文件.当我运行代码时,我在尝试删除/快照时出错
.现在这让我想知道缓存目录中的其他文件是什么,我不应该篡改?
我知道SDWebImage缓存和其他一些文件驻留在这个目录中.但是,我还是需要清除SDWebImage缓存.

这是我用来清除缓存目录的代码:

public func clearCache(){    let cacheURL =  NSfileManager.defaultManager().URLsForDirectory(.CachesDirectory,inDomains: .UserDomainMask).first!    let fileManager = NSfileManager.defaultManager()    do {        // Get the directory contents urls (including subfolders urls)        let directoryContents = try NSfileManager.defaultManager().contentsOfDirectoryAtURL( cacheURL,includingPropertIEsForKeys: nil,options: [])        for file in directoryContents {            do {                  try fileManager.removeItemAtURL(file)                }                catch let error as NSError {                    deBUGPrint("Ooops! Something went wrong: \(error)")                }            }    } catch let error as NSError {        print(error.localizedDescription)    }}

现在,这是一个好习惯吗?是否有任何明显的方法可以实现相同的方法?

解决方法 清除缓存目录是完全没问题的.是的,迭代内容是它的完成方式.

这就是Apple所说的:

Use this directory to write any app-specific support files that your
app can re-create easily. Your app is generally responsible for
managing the contents of this directory and for adding and deleting
files as needed.

File System Overview

总结

以上是内存溢出为你收集整理的在iOS中清除缓存目录的最佳做法是什么?全部内容,希望文章能够帮你解决在iOS中清除缓存目录的最佳做法是什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1073993.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存