Swift之缓存文件处理
生活随笔
收集整理的這篇文章主要介紹了
Swift之缓存文件处理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
//
// YDWCache.swift
// Project
//
// Created by cptech on 2017/6/19.
// Copyright ? 2017年 CPTECH_ydw. All rights reserved.
//import UIKitclass YDWCache: NSObject {/*** 以NSHomeDirectory()為例*/// 讀取緩存的大小static func returnCacheSize()->String {return String(format:"%.2f",forderSizeAtPath(folderPath: NSHomeDirectory()))}// 根據文件的路徑計算文件的大小(MB)static func returnFileSize(path:String)->Double {let fileManager = FileManager.defaultvar fileSize:Double = 0do {fileSize = Double(try fileManager.attributesOfItem(atPath: path)[FileAttributeKey.size] as! UInt64)fileSize = Double((try fileManager.attributesOfItem(atPath: path) as NSDictionary).fileSize())} catch {dump(error)}return fileSize/1024.0/1024.0}// 遍歷文件的子目錄,計算文件的大小static func forderSizeAtPath(folderPath:String)->Double {let filemanager = FileManager.defaultif !filemanager.fileExists(atPath: folderPath) {return 0}let childFilePath = filemanager.subpaths(atPath: folderPath)var fileSize:Double = 0for path in childFilePath! {let fileAbsoluePath = folderPath+"/"+pathfileSize += YDWCache.returnFileSize(path: fileAbsoluePath)}return fileSize}// 清除緩存static func cleanCache(competion:()->Void) {YDWCache.deleteFolder(folderPath: NSHomeDirectory() + "/Documents")YDWCache.deleteFolder(folderPath: NSHomeDirectory() + "/Library")YDWCache.deleteFolder(folderPath: NSHomeDirectory() + "/tmp")competion()}// 刪除單個文件static func deleteFile(path:String) {let fileManager = FileManager.defaultdo {try fileManager.removeItem(atPath: path)} catch {dump(error)}}// 刪除文件下的所有文件static func deleteFolder(folderPath:String) {let fileManager = FileManager.defaultif !fileManager.fileExists(atPath: folderPath) {}let childFilePath = fileManager.subpaths(atPath: folderPath)for path in childFilePath! {let fileAbsoluePath = folderPath+"/"+pathYDWCache.deleteFile(path: fileAbsoluePath)}}}
與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的Swift之缓存文件处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Swift之extension的使用
- 下一篇: Swift之点击UITableView单