//
// ZBCleanTool.swift
// task
//
// Created by 柏超曾 on 2017/9/26.
// Copyright © 2017年 柏超曾. All rights reserved.
//
import Foundation
class ZBCleanTool: NSObject {
//test
class func fileSizeOfCachingg( completionHandler:@escaping (_ size: String)->()) {
print("1")
//开启子线程
DispatchQueue.global().async {
print("6")
// 取出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
}
}
}
//回到主线程 执行闭包
DispatchQueue.main.async(execute: {
var str : String = ""
var realSize : Int = size
if realSize < 1024 {
str = str.appendingFormat("%dB", realSize)
}else if size > 1024 && size < 1024 * 1024 {
realSize = realSize / 1024
str = str.appendingFormat("%dKB", realSize)
}else if size > 1024 * 1024 && size < 1024 * 1024 * 1024 {
realSize = realSize / 1024 / 1024
str = str.appendingFormat("%dM", realSize)
}
completionHandler(str)
})
}
}
class 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! {
if file.contains("Snapshots") { continue}
if file.contains("com.fix.task") { continue}
let path = (cachePath! as NSString).appending("/\(file)")
if FileManager.default.fileExists(atPath: path) {
do {
try FileManager.default.removeItem(atPath: path)
} catch {
}
}
}
}
}
swift4 查看并且清除缓存(高级封装)
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。