IOS应用开发,plist方式保存数据以及Preferences

2017-01-13  本文已影响0人  nightfallLemon

plist方式保存数据
plist可以保存的类型为数组与字典.
在介绍plist文件保存之前,先介绍几个方法。

NSHomeDirectory(); 该方法用来获取我们ios文件在应用沙盒中的文件位置.
NSTemporaryDirectory(); 该方法用来获取我们ios文件在应用沙盒中的tmp文件夹
位置.
NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory directory, NSSearchPathDomainMask domainMask, BOOL expandTilde); 该方法用来查找caches文件夹,因为没有直接的方法直接获取到caches文件夹

注意事项:

如果数组或字典中 存在NSNull 对象, 保存操作将会失败.

保存

//定义一个数组对象.
NSArray *arr = @[@"123", @1];
/***NSUserDomainMask 代表在用户的手机目录上查找*NSCachesDirectory 查找library/caches路径*返回值是一个数组.*/
NSString *cachePath =NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask, YES)[0];
//拼接自己路径,将要保存的数据存入arr.plist文件夹中.
NSString *filePath = [cachePath stringByAppendingPathComponent:@"arr.plist"];
//写入plist文件.
[arr writeToFile:filePath atomically:YES];

读取

//获取caches文件夹. 
NSString *cachePath =NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES)[0];
 //获取arr.plist文件路径 
NSString *filePath = [cachePath stringByAppendingPathComponent:@"arr.plist"]; 
//读取文件 
NSArray *arr = [NSArray arrayWithContentsOfFile:filePath];

Preferences方式保存数据
相比plist方式保存数据来说,Preferences方式的优势在于:1.不需要关心文件名.
2.快速的键值对存取.

Preferences 与 application 一样,是一个单例.

保存

//获取对象 
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
//保存对象 
[defaults setObject:@"xmg" forKey:@"account"]; 
[defaults setObject:@"123" forKey:@"pwd"]; 
[defaults setBool:YES forKey:@"rmbPwd"];

读取

//获取对象 
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
//通过键值对获取数据. 
NSString *account = [defaults objectForKey:@"account"];
上一篇下一篇

猜你喜欢

热点阅读