iOS清除所有缓存的实例代码

发布时间 - 2026-01-11 02:34:27    点击率:

 本文介绍了iOS清除所有缓存的实例代码,分享给大家,具体如下:

计算缓存

NSString *libPath = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES)[0];
CGFloat fileSize=[self folderSizeAtPath:libPath];
- (float ) folderSizeAtPath:(NSString*) folderPath{
  NSFileManager* manager = [NSFileManager defaultManager];
  if (![manager fileExistsAtPath:folderPath]) return 0;
  NSEnumerator *childFilesEnumerator = [[manager subpathsAtPath:folderPath] objectEnumerator];
  NSString* fileName;
  long long folderSize = 0;
  while ((fileName = [childFilesEnumerator nextObject]) != nil){
    NSString* fileAbsolutePath = [folderPath stringByAppendingPathComponent:fileName];
    folderSize += [self fileSizeAtPath:fileAbsolutePath];
  }
  return folderSize/(1024.0*1024.0);
}
- (long long)fileSizeAtPath:(NSString*) filePath{
  NSFileManager* manager = [NSFileManager defaultManager];
  if ([manager fileExistsAtPath:filePath]){
    return [[manager attributesOfItemAtPath:filePath error:nil] fileSize];
  }
  return 0;
}

清除缓存

- (void)action:(id)sender
{
  NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
  NSString *path = [paths lastObject];

  NSArray *files = [[NSFileManager defaultManager] subpathsAtPath:path];

  for (NSString *p in files) {
    NSError *error;
    NSString *Path = [path stringByAppendingPathComponent:p];
    if ([[NSFileManager defaultManager] fileExistsAtPath:Path]) {
      //清理缓存,保留Preference,里面含有NSUserDefaults保存的信息
      if (![Path containsString:@"Preferences"]) {
        [[NSFileManager defaultManager] removeItemAtPath:Path error:&error];
      }
    }else{

    }
  }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# iOS清除所有缓存  # iOS  # 清除缓存  # iOS开发之清除缓存功能的实现  # iOS中设置清除缓存功能的实现方法  # iOS中的缓存计算和清除完整实例代码  # IOS 缓存文件的清除实现代码  # IOS获取缓存文件的大小并清除缓存文件的方法  # iOS 清除xcode缓存和生成文件的方法  # iOS开发之1行代码实现缓存计算及清除缓存  # 给大家  # 大家多多  # NSFileManager  # defaultManager  # manager  # folderSizeAtPath  # float  # folderPath  # fileExistsAtPath  # subpathsAtPath  # objectEnumerator  # fileName  # return  # NSEnumerator  # childFilesEnumerator  # fileSize  # pre  # class  # brush  # nbsp 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  Laravel Seeder填充数据教程_Laravel模型工厂Factory使用  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  如何在阿里云虚拟服务器快速搭建网站?  如何在阿里云通过域名搭建网站?  Python并发异常传播_错误处理解析【教程】  Laravel如何创建自定义Facades?(详细步骤)  Laravel如何使用Eloquent进行子查询  Firefox Developer Edition开发者版本入口  Laravel用户密码怎么加密_Laravel Hash门面使用教程  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  如何在腾讯云服务器快速搭建个人网站?  linux top下的 minerd 木马清除方法  制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  大连 网站制作,大连天途有线官网?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  Python高阶函数应用_函数作为参数说明【指导】  jQuery中的100个技巧汇总  ,网页ppt怎么弄成自己的ppt?  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  Swift中swift中的switch 语句  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  Laravel如何使用Vite进行前端资源打包?(配置示例)  Linux网络带宽限制_tc配置实践解析【教程】  香港服务器网站卡顿?如何解决网络延迟与负载问题?  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  Python文件异常处理策略_健壮性说明【指导】  HTML 中动态设置元素 name 属性的正确语法详解  公司门户网站制作流程,华为官网怎么做?  Swift中switch语句区间和元组模式匹配  javascript中的try catch异常捕获机制用法分析  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  详解阿里云nginx服务器多站点的配置  使用C语言编写圣诞表白程序  Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】  在Oracle关闭情况下如何修改spfile的参数  如何生成腾讯云建站专用兑换码?  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  浅析上传头像示例及其注意事项  详解Android中Activity的四大启动模式实验简述  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】