1. 程式人生 > >swift清理緩存

swift清理緩存

dom clear director cat 取出 都在 tor fun path

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