//
// 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
//緩存目錄路徑
// 取出文件夾下所有文件數(shù)組
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
}
}
}
//回到主線程 執(zhí)行閉包
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
// 取出文件夾下所有文件數(shù)組
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 查看并且清除緩存(高級封裝)
最后編輯于 :
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
- 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
- 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 應用場景: 現(xiàn)在眾多app中都會有清楚緩存的功能,怎么能精確的計算緩存文件的大小,從而清除緩存文件呢,下面對清楚功...