1. 程式人生 > >swift3.0清除快取

swift3.0清除快取

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! asNSString).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 file in fileArr! {

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

ifFileManager.default.fileExists(atPath: path) {

do {

tryFileManager.default.removeItem(atPath: path)

                } catch {

                } 

            }

        }

    }