//
//  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)}}}

Swift之缓存文件处理相关推荐

  1. 【Swift】 GETPOST请求 网络缓存的简单处理

    GET & POST 的对比 源码: https://github.com/SpongeBob-GitHub/Get-Post.git 1. URL - GET 所有的参数都包含在 URL 中 ...

  2. Swift App项目总结

    最近公司新开了一个项目,由于我的同事的离职,所以就剩我自己了.于是就果断的使用纯纯Swift写了,之前也用过Swift,不过很早了,那时候Swift还不稳定,每次一升级Xcode,Swift升级以后语 ...

  3. 简单易用且功能丰富的纯Swift下载框架

    Tiercel    Tiercel是一个非常简单易用且功能丰富的纯Swift下载框架.最大的特点就是拥有强大的任务管理功能和可以直接获取常见的下载信息,并且只要加上一些简单的UI,就可以实现一个下载 ...

  4. iOS开发 - Swift实现清除缓存功能

    前言: 开发移动应用时,请求网络资源是再常见不过的功能.如果每次都去请求,不但浪费时间,用户体验也会变差,所以移动应用都会做离线缓存处理,其中已图片缓存最为常见. 但是时间长了,离线缓存会占用大量的手 ...

  5. Swift与Objective-C混编时,我们是如何将编译时间优化了35%?

    作者 | 赵志.曾庆隆.顾梦奇.王强.赵发 出品 | CSDN(ID:CSDNnews) 2019年3月25日,苹果发布了Swift 5.0版本,宣布了ABI稳定,并且Swift runtime和标准 ...

  6. Swift 与 Objective-C 混编时,我们是如何将编译时间优化了 35%?

    作者 | 赵志.曾庆隆.顾梦奇.王强.赵发 出品 | CSDN(ID:CSDNnews) 2019 年 3 月 25 日,苹果发布了 Swift 5.0 版本,宣布了 ABI 稳定,并且Swift r ...

  7. 从预编译的角度理解Swift与Objective-C及混编机制

    本文从预编译的基础知识入手,由浅至深的介绍了 Objective-C 和 Swift 的工作机制,并通过这些机制来解释混编项目中使用到的技术和各种参数的作用,由此来指导开发者如何进行混编. 写在前面 ...

  8. Swift与LLVM-Clang原理与示例

    Swift与LLVM-Clang原理与示例 LLVM 学习 从 简单汇编基础 到 Swift 不简单的 a + 1 作为iOS开发,程序崩溃犹如家常便饭,秉着没有崩溃也要制造崩溃的原则 每天都吃的很饱 ...

  9. swift笔记——环境搭建及Hello,Swift!

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/enson16855/article/details/29829601 首先要下载XCode6.仅仅有 ...

最新文章

  1. 实验3  数据库综合查询
  2. 新版“峡谷第一美”妲己尾巴毛发制作分享
  3. php 解析xml 的四种方法(转)
  4. tls1.1 tls1.2_Java 8将默认使用传输级别安全性(TLS)1.2
  5. matlab resample上采样,resample matlab实现
  6. camvid数据集使用方法_使用PyTorch处理CIFAR10数据集并显示
  7. CMU机器学习学院院长Tom Mitchell:计算机模拟人脑才刚刚起步
  8. visio 科学图形包_【数据科学的python系列3】Python数据科学环境设置
  9. (三)微信小程序云开发之微信支付全解
  10. 利用JS代码完成动态生成表格案例及解析
  11. java 同比数据怎么算的_如何计算同比的计算公式?
  12. 华三路由交换配置命令_华三交换机-路由器配置命令
  13. CAJ转WORD的方法(原创方法,仅用于学习记录,免费但是很麻烦)
  14. 小屏幕android电视,手机屏幕还能投屏到电视?教你4种方法,1秒钟小屏变大屏
  15. 百度飞将BMN时序动作定位框架 | 数据准备与训练指南 (上)
  16. lol祖安服务器维护,LOL:最坑的十个大区,艾欧尼亚排第十!如果你在第一赶快换区!...
  17. 关于如何使用python下载各大网站的视频
  18. 深入理解地址翻译 CSAPP
  19. ios能玩java的模拟器_app适用于模拟器,但不适用于ios设备
  20. redefinition; different type modifiers错误解决

热门文章

  1. 面试中遇到过的闭包~
  2. Jquery.load() 使用
  3. ./ 表示当前路径 ../ 表示上一级目录路径
  4. linux内核头文件 cdev.h 解析
  5. 【UML】如何看Android的UML图
  6. Cocos2dx 中 倒计时保留2位数写法
  7. 安装Apache的步骤
  8. python 图像无缝拼接,OpenCV Python 系列教程3 - Core 组件
  9. 【数据结构】排序相关题目及各种排序方法的总结
  10. python秒表小项目_适合新手练习的几个python小项目