服务器显然告诉我这样做.但是一旦服务器告诉我这样做,我就很难清除缓存.
大多数答案和文章表明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中清除缓存目录的最佳做法是什么?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)