plist方式保存数据
- plist可以保存的类型为数组与字典.
-
在介绍plist文件保存之前,先介绍几个方法。
- NSHomeDirectory(); 该方法用来获取我们ios文件在应用沙盒中的文件位置.
- NSTemporaryDirectory(); 该方法用来获取我们ios文件在应用沙盒中的tmp文件夹位置.
- NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory directory, NSSearchPathDomainMask domainMask, BOOL expandTilde); 该方法用来查找caches文件夹,因为没有直接的方法直接获取到caches文件夹
保存
//定义一个数组对象. 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"];