一聚教程网:一个值得你收藏的教程网站

热门教程

ios开发之iOS 数据缓存问题

时间:2022-06-25 23:36:29 编辑:袖梨 来源:一聚教程网

为了节约流量,同时也是为了更好的用户体验,目前很多应用都使用本地缓存机制于是我从网上查阅了相关的资料,发现总体上说有两种方法。一种是自己写缓存的处理,一种是采用ASIHTTPRequest中的ASIDownloadCache。

在这里我主要介绍第一种自习写缓存的处理方式。

1.主要思路就是第一次有网络加载数据将数据写入沙盒中,然后以后登录对网络状态进行判断,若无网络就使用沙盒数据,有网络就请求API获得数据.

 
//写入数据
NSArray *arr = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSAllDomainsMask, YES);
//获得沙盒路径
NSString*path = [arr =objectAtIndex:0];
NSString*pStr = [path=stringByAppendingString:@"/data.txt"];
 
NSData *data1=NSData dataWithContentsOfFile:pStr];
//获得沙盒数据
NSArray*array=[NSKeyedUnarchiver unarchiveObjectWithData:data1];
 

但是这种方式要注意,就是缓存数据会越来越多,所以基本APP都在个人设置里有个删除缓存的方法

//删除缓存
 NSFileManager * fileManager = [[NSFileManager alloc]init];
 [fileManager removeItemAtPath:path error:nil];

热门栏目