NSUserDefaults适合存储轻量级的本地数据,比如要保存一个登陆界面的数据,用户名、密码之类的,个人觉得使用NSUserDefaults是首选。下次再登陆的时候就可以直接从NSUserDefaults里面读取上次登陆的信息。
NSUserDefaults支持的数据格式有:
NSNumber(Integer、Float、Double),NSString,NSDate,NSArray,NSDictionary,BOOL类型
例如:
再次进入登录界面时,往往需要保留上次成功登录之前留有的登录状态:(用户名、是否记住密码等)
因此,在我们点击登录时,应该利用NSUserDefault单例对象将这些用户偏好设置保存在Library/Preference文件下的plist文件
// 判断登录成功后,保存登录状态到用户偏好中
[[NSUserDefaults standardUserDefaults] setObject:_idTextField.text forKey:@"idTextField"];
注意:
在写入偏好设置时,内存中的数据和沙盒中的数据往往有延时,所以可能造成下次读取时,沙盒中还未有文件,因此需要手动同步一下!
// 同步:将当前内存数据和沙盒数据同步起来
[[NSUserDefaults standardUserDefaults] synchronize];
在下次登录时,读取
// 从用户Preference文件中读取登录状态
_idTextField.text = [[NSUserDefaults standardUserDefaults] objectForKey:@"idTextField"];