将得到的数组保存到本地(用归档和反归档的方法)
2016-01-29 本文已影响650人
安然slience
有时候我们从服务器获取的数据不能够利用[NSUserDefaults standardUserDefaults]保存到本地(比如数据里面有<null>类型的数据时),这个时候我们又需要在其他地方用到这个数组,那就可以利用归档的方法保存数组,等到需要用的时候再用反归档的方法来获取这个数组.
//归档
NSString *path = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
NSString *filePath = [path stringByAppendingPathComponent:@"sale1.data"];//sale1.data是你归档的数组的名字
[NSKeyedArchiver archiveRootObject:items.n12 toFile:filePath];//items.n12是你需要保存的数组的数据
//反归档
NSString *path = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
NSString *filePath = [path stringByAppendingPathComponent:@"sale1.data"];//取出名字为sale1.data的归档文件
self.saleArray = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath];//self.saleArray是你声明的一个数组用来接收反归档的文件
NSLog(@"sale:%@",self.saleArray);
这样就完美的解决了保存数据的问题.