ios 往 Library的cache目录下 存放缓存数据的方法

news/2024/7/20 21:56:09 标签: iOS, library, 数据, 缓存

// 写缓存
+ (void)writeLocalCacheData:(NSData *)data withKey:(NSString *)key {
    // 设置存储路径
    NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0]
                            stringByAppendingPathComponent:key];
    // 判读缓存数据是否存在
    if ([[NSFileManager defaultManager] fileExistsAtPath:cachesPath]) {
        // 删除旧的缓存数据
        [[NSFileManager defaultManager] removeItemAtPath:cachesPath error:nil];
    }
    // 存储新的缓存数据
    [data writeToFile:cachesPath atomically:YES];
}

// 读缓存
+ (NSData *)readLocalCacheDataWithKey:(NSString *)key {
    NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0]
                            stringByAppendingPathComponent:key];
    // 判读缓存数据是否存在
    if ([[NSFileManager defaultManager] fileExistsAtPath:cachesPath]) {
        // 读取缓存数据
        return [NSData dataWithContentsOfFile:cachesPath];
    }
    return nil;
}

// 删缓存
+ (void)deleteLocalCacheDataWithKey:(NSString *)key {
    NSString *cachesPath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0]
                            stringByAppendingPathComponent:key];
    // 判读缓存数据是否存在
    if ([[NSFileManager defaultManager] fileExistsAtPath:cachesPath]) {
        // 删除缓存数据
        [[NSFileManager defaultManager] removeItemAtPath:cachesPath error:nil];
    }
}



http://www.niftyadmin.cn/n/1398944.html

相关文章

RecycleView + Fragment 替换 ViewPager + Fragment

ViewPager Fragment 用了好多年了,想换个用法,研究了一下 RecycleView Fragment 其中 RecycyleView用到了 PagerSnapHelper 实现了滑动页面效果有什么好的建议,希望大家提出! Github https://github.com/nerveva2000/RecycleVi…

ERP、CRM、SCM、电子商务、BI、ITSS

ERP 企业资源规划 Enterprise Resource Planning 思想 1.事前计划2.事中控制3.事后分析4.及时调整 四个发展阶段 1.基本MRP --无生产能力控制 物资需求计划(Material Requirement Planning)聚焦于相关物资需求的问题,根据主生产计划、物料清单…

信息系统_服务_审计_资质_监理

信息系统 目的 以处理信息为目的专门的系统类型 信息系统可以是手动的,也可以是计算机化的 计算机化的信息系统的组成部分 (硬软库网储感外人规) 1.硬件 由执行输入、处理、输出行为的计算机设备组成 2.软件 有管理计算机运行的程序构成&…

J2EE和.NET技术

J2EE和.NET技术 J2EE 将开发工作分类 业务逻辑开发 和 表示逻辑开发 J2EE服务器运行环境包括 1.组件(Component) 表示应用逻辑的代码 2.容器(Container) 是组件的运行环境 3.服务(Services) 是应用服务提供…

信息、信息技术、信息系统、软件、信息化、企业信息化

信息 定义 1. 香农(信息论的奠基人) 是有别于 物质和能量 的 第三种东西,是对事物运动状态和存在方式的不确定性的描述(无法预测不可知的)(事物运动状态和状态变化的自我描述) 2. 维纳 信息就是信息,既不是物质,也不是…

软件_需求_测试_质量_复用_架构_中间件_数据库_数据仓库

软件 软件的生命(行划 需概详码测维) 1.可行性分析 与 项目开发计划 确定问题有无可行的解决方案,是否值得解决 2.需求分析 确定要解决的问题,目标系统要具备哪些功能 3.概要设计 制定出实现该软件的详细计划 4.详细设计 把问题的…

立项管理

立项管理 5个典型环节 1.项目建议 2.项目可行性分析 3.项目审批 4.项目招募(招投标) 5.项目合同谈判与签订 立项管理 解决问题 主要是解决项目组织战略符合性问题。即项目值不值得去做的问题 项目建议书(又称立项申请) 是项目建设…

项目_管理工程师

项目 定义 是为了达到特定的目的、使用一定的资源、在确定的时间内、为特定发起人提供独特的产品、服务 或 成果 而进行的一次性努力 项目特点 1.临时性 ——有明确的起始/结束时间 每一个项目都有一个明确的开始时间和结束时间,项目是一次性的 2.独特性 ——独有的…