1.NSUserDefaults 含义:
NSUserDefaults(系统隐藏目录)用于永久保存数据,是一个单例,在程序项目中只有一个实例对象,适合存储轻量级的本地数据(如:用户名、密码等)。
2.NSUserDefaults 支持的数据类型:
NSNumber、NSString、NSDate、NSArray、NSDictionary、BOOL
3.NSUserDefaults 使用:
代码中首先判断是否第一个登录,若第一次就写入userName(用户名)和password(密码),存储用户名密码;第二次登录时,本地已经存储用户名和密码,就可打印出用户名和密码。
[[NSUserDefaults standardUserDefaults] setObject:account forKey:@"account"]; //存储为本地数据
NSDictionary *account1 = [[NSUserDefaults standardUserDefaults] objectForKey:@"account"]; //取出存储的数据
注意:
Key相同会覆盖已有原有Key,必须保证Key的唯一。
NSUserDefaults存储的对象是不可变的。
自定义对象,不能直接归档。
4.NSUserDefaults 存储自定义对象:
自定义的对象可选择归档,把对象放进字典,压缩解码。
自定义对象归档方法:支持NSCoding协议,用协议的两个方法进行编码解码,然后用NSKeyedArchiver写入沙盒文件,用NSKeyedUnarchiver读取文件。
例:
将自定义的对象归档存入:
将自定义的对象取出: