1. 程式人生 > >Swift-清除快取

Swift-清除快取

  func removeCache (){
        // 取出cache資料夾路徑.如果清除其他位子的可以將cachesDirectory換成對應的資料夾
        let cachePath = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.cachesDirectory, FileManager.SearchPathDomainMask.userDomainMask, true).last
        
        // 列印路徑,需要測試的可以往這個路徑下放東西
        //print(cachePath)
        // 取出資料夾下所有檔案陣列
        let files = FileManager.default.subpaths(atPath: cachePath!)
        
        // 點選確定時開始刪除
        for p in files!{
            // 拼接路徑
            let path = cachePath!.appendingFormat("/\(p)")
            // 判斷是否可以刪除
            if FileManager.default.fileExists(atPath: path){
                // 刪除
                //                try! FileManager.default.removeItem(atPath: path)
                /*******/
                //避免崩潰
                do {
                    try FileManager.default.removeItem(atPath: path as String)
                } catch {
                    print("removeItemAtPath err"+path)
                }
            }
            
        }
        
    }