swift清理緩存
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清理緩存