swift3.0清除缓存

来源:互联网 发布:拳皇出招优化 编辑:程序博客网 时间:2024/06/06 12:54

 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 filein 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 asAnyObject).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 filein fileArr! {

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

            ifFileManager.default.fileExists(atPath: path) {

                do {

                    tryFileManager.default.removeItem(atPath: path)

                } catch {

                    

                } 

            }

        }

    }


原创粉丝点击