iOS开发 - Swift实现清除缓存功能
2016-06-29 15:42
555 查看
前言:
开发移动应用时,请求网络资源是再常见不过的功能。如果每次都去请求,不但浪费时间,用户体验也会变差,所以移动应用都会做离线缓存处理,其中已图片缓存最为常见。但是时间长了,离线缓存会占用大量的手机空间,所以清除缓存功能基本是移动应用开发的标配。
实现:
本文介绍在iOS开发中,Swift实现清除缓存功能。主要分为统计缓存文件大小和删除缓存文件两个步骤:1.统计缓存文件大小
[code=plain]func fileSizeOfCache()-> Int { // 取出cache文件夹目录 缓存文件都在这个目录下 let cachePath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.CachesDirectory, NSSearchPathDomainMask.UserDomainMask, true).first //缓存目录路径 print(cachePath) // 取出文件夹下所有文件数组 let fileArr = NSFileManager.defaultManager().subpathsAtPath(cachePath!) //快速枚举出所有文件名 计算文件大小 var size = 0 for file in fileArr! { // 把文件名拼接到路径中 let path = cachePath?.stringByAppendingString("/\(file)") // 取出文件属性 let floder = try! NSFileManager.defaultManager().attributesOfItemAtPath(path!) // 用元组取出文件大小属性 for (abc, bcd) in floder { // 累加文件大小 if abc == NSFileSize { size += bcd.integerValue } } } let mm = size / 1024 / 1024 return mm }
2.删除缓存文件
[code=plain]func clearCache() { // 取出cache文件夹目录 缓存文件都在这个目录下 let cachePath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.CachesDirectory, NSSearchPathDomainMask.UserDomainMask, true).first // 取出文件夹下所有文件数组 let fileArr = NSFileManager.defaultManager().subpathsAtPath(cachePath!) // 遍历删除 for file in fileArr! { let path = cachePath?.stringByAppendingString("/\(file)") if NSFileManager.defaultManager().fileExistsAtPath(path!) { do { try NSFileManager.defaultManager().removeItemAtPath(path!) } catch { } } } }
3.效果图
本文首发于马燕龙个人博客,欢迎分享,转载请标明出处。马燕龙个人博客:http://www.mayanlong.com
马燕龙个人微博:http://weibo.com/imayanlong
马燕龙Github主页:https://github.com/yanlongma
相关文章推荐
- Swift - 多线程实现方式
- swift--Swift 2.0实战:如何实现从非零下标遍历数组?
- SDWebImage 原理及使用
- 下拉刷新和上拉加载 Swift
- swift(三) 数组的简单操作 (增 删 改 查)
- swift(二) 常量和变量 let 和 var
- swift-ios开发pod的使用(1)
- 跟着洲洲哥一块学习Swift-控制流
- OC的全局引用和Swift的宏定义
- Swift自定义进度圆
- swift map reduce 获取下标(index)的方法
- 监听手机截屏事件
- Swift基础--通知,代理和block的使用抉择以及Swift中的代理
- swift项目实战--微博的未登录界面的实现,和监听未登录界面两个按钮的两种实现方法
- Swift 3.0 弹出窗口一天只一次
- iOS开发 - Swift使用JavaScriptCore与JS交互
- Swift基础--Swift中的分类以及在分类中扩展init方法的注意事项
- Swift开发小技巧--private访问修饰符报错的情况
- Swift开发小技巧--TabBar中间按钮的添加方案
- Swift Study Day 2