美文网首页
Object-c 缓存数据(plist)

Object-c 缓存数据(plist)

作者: 计西 | 来源:发表于2020-10-21 16:48 被阅读0次

一、相关知识


(⚠️ 需要直接看代码可跳到第二部分)

在ios中应用的缓存数据只能保存在 沙盒 中。
沙盒 : 每个应用程序自己的独立的存储空间。
沙盒中默认含有以下4个文件:

  • Documents
    iTunes备份和恢复的时候,会包括此目录。
  • Library
    Library/Caches:存放缓存文件,应用程序再次启动过程中需要的信息。
    Library/Preferences:包含应用程序的偏好设置文件。
  • tmp
    创建临时文件的目录,设备重启时,文件会自动被清除。
  • 应用.app
    应用程序的程序包目录,包含应用程序的本身。

以下是获取对应路径的方式:

// 获取到沙盒的根目录

NSString *homePath = NSHomeDirectory();

// 获取Documents目录

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,

NSUserDomainMask, YES);

NSString *docPath = [paths lastObject];

// 获取Library中的Cache

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask, YES);

NSString *docPath = [paths lastObject];

j// 获取tmp路径

NSString *temp = NSTemporaryDirectory();

// 获取程序包文件路径

[[NSBundle mainBundle] resourcePath

二、缓存数据代码

这里以写入和读取plist为例:

/******** 写入plist *********/
NSArray *path = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);

// 写入的文件路径(在沙盒的cache路径下)
NSString *indir = [[path lastObject] stringByAppendingString:@"/test.plist"];   

// 生成数组(NSMutableArray可变数组,NASArray不可变数组)
NSMutableArray *writeData=[[NSMutableArray alloc] init];
NSArray *arr = @[@"apple", @"banana", @"pear"];
[writeData addObjectsFromArray:arr];
// 写入文件
[writeData writeToFile:indir atomically:YES];

/********* 读取plist *********/
NSArray *readData=[NSArray arrayWithContentsOfFile:indir];
NSLog(@"读取plist:%@",readData);

相关文章

网友评论

      本文标题:Object-c 缓存数据(plist)

      本文链接:https://www.haomeiwen.com/subject/whcemktx.html