iOS-Swift-清理緩存ClearCache-Swift

jopen 8年前發布 | 40K 次閱讀 iOS開發 移動開發 ClearCache-Swift

iOS-Swift-清理緩存

前言

swift現在網上資源比較亂,需要找的要找很久,于是自己開始整理自己遇到的功能開始swift化,如果效果不錯的話以后就會一直發表swift的博客,所以請各位讀者多給我的GitHub點幾個Star吧!


效果圖

這里寫圖片描述

上代碼

在storyBoard創建一個button關聯點擊事件,然后在ViewController里寫上以下代碼

import UIKit

class ViewController: UIViewController {

override func viewDidLoad() {
    super.viewDidLoad()

}

@IBAction func alertAction(sender: UIButton) { // 取出cache文件夾路徑 let cachePath = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.CachesDirectory, NSSearchPathDomainMask.UserDomainMask, true).first // 打印路徑,需要測試的可以往這個路徑下放東西 print(cachePath) // 取出文件夾下所有文件數組 let files = NSFileManager.defaultManager().subpathsAtPath(cachePath!) // 用于統計文件夾內所有文件大小 var big = Int();

// 快速枚舉取出所有文件名
for p in files!{
    // 把文件名拼接到路徑中
    let path = cachePath!.stringByAppendingFormat("/\(p)")
    // 取出文件屬性
    let floder = try! NSFileManager.defaultManager().attributesOfItemAtPath(path)
    // 用元組取出文件大小屬性
    for (abc,bcd) in floder {
        // 只去出文件大小進行拼接
        if abc == NSFileSize{
            big += bcd.integerValue
        }
    }
}

// 提示框
let message = "\(big/(1024*1024))M緩存"
let alert = UIAlertController(title: "清除緩存", message: message, preferredStyle: UIAlertControllerStyle.Alert)

let alertConfirm = UIAlertAction(title: "確定", style: UIAlertActionStyle.Default) { (alertConfirm) -> Void in
    // 點擊確定時開始刪除
    for p in files!{
        // 拼接路徑
        let path = cachePath!.stringByAppendingFormat("/\(p)")
        // 判斷是否可以刪除
        if(NSFileManager.defaultManager().fileExistsAtPath(path)){
            // 刪除
            try! NSFileManager.defaultManager().removeItemAtPath(path)
        }
    }
}
alert.addAction(alertConfirm)
let cancle = UIAlertAction(title: "取消", style: UIAlertActionStyle.Cancel) { (cancle) -> Void in

}
alert.addAction(cancle)
// 提示框彈出
presentViewController(alert, animated: true) { () -> Void in

}

}</pre>

效果展示

這里寫圖片描述

GitHub:https://github.com/Lafree317/ClearCache-Swift

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!