Object-c 缓存数据(plist)

2020-10-21  本文已影响0人  计西

一、相关知识


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

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

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

// 获取到沙盒的根目录

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);
上一篇 下一篇

猜你喜欢

热点阅读