首页 > 编程语言 > 详细

swift清理缓存

时间:2017-08-03 14:24:10      阅读:340      评论:0      收藏:0      [点我收藏+]

func fileSizeOfCache()-> Int {

        // 取出cache文件夹目录 缓存文件都在这个目录下

        let cachePath =NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.cachesDirectory,FileManager.SearchPathDomainMask.userDomainMask, true).first

        //缓存目录路径

        // 取出文件夹下所有文件数组

        let fileArr = FileManager.default.subpaths(atPath: cachePath!)

        //快速枚举出所有文件名 计算文件大小

        var size = 0

        for file in fileArr! {            

            // 把文件名拼接到路径中

            let path = (cachePath! as NSString).appending("/\(file)")

            // 取出文件属性

            let floder = try! FileManager.default.attributesOfItem(atPath: path)

            // 用元组取出文件大小属性

            for (abc, bcd) in floder {

                // 累加文件大小

                if abc == FileAttributeKey.size {

                    size += (bcd as AnyObject).integerValue

                }

            }

        }

        let mm = size / 1024 / 1024

        return mm

    }

  func clearCache() {

        // 取出cache文件夹目录 缓存文件都在这个目录下

        let cachePath =NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.cachesDirectory,FileManager.SearchPathDomainMask.userDomainMask, true).first

        // 取出文件夹下所有文件数组

        let fileArr = FileManager.default.subpaths(atPath: cachePath!)

        // 遍历删除

        for file in fileArr! {

            let path = (cachePath! as NSString).appending("/\(file)")

            if FileManager.default.fileExists(atPath: path) {

                do {

                    try FileManager.default.removeItem(atPath: path)

                } catch {

                    

                } 

            }

        }

    }

 

swift清理缓存

原文:http://www.cnblogs.com/-ios/p/7279371.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!