// 显示缓存大小 func fileSizeOfCache()-> Int { // 1. 取出cache文件夹目录 缓存文件都在这个目录下 let cachePath = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.cachesDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).first // 2. 取出文件夹下所有文件数组 let fileArr = FileManager.default.subpaths(atPath: cachePath!) // 3. 快速枚举出所有文件名 计算文件大小, 单位是字节 var size = 0 for file in fileArr! { // 3.1 把文件名拼接到路径中 let path = cachePath! + "/\(file)" // 3.2 取出文件属性 let floder = try! FileManager.default.attributesOfItem(atPath: path) // 3.3 用元组取出文件大小属性 for (abc, bcd) in floder { // 累加文件大小 if abc == FileAttributeKey.size { size += (bcd as AnyObject).integerValue } } } // 单位换算成 MB let sizeM = size / 1024 / 1024 return sizeM }
// 清理缓存 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! + "/\(file)" if FileManager.default.fileExists(atPath: path) { do { try FileManager.default.removeItem(atPath: path) } catch {} } } }
文章来源: iOS - 清理缓存