NSUserDefault可以用来保存一些系统的对象,例如NSString、NSArray、NSDictionary等等,那么如何才能保存自定义的对象模型呢?
// 存储
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"YES" forKey:IS_LOGIN_IN];//保存NSString
UserModel *userModel = [[USerModel alloc]init];//这是一个用户模型的对象
userModel.username = result.data[@"member_info"][MEMBER_NAME];
userMedel.key = result.data[@"member_info"][USER_KEY];
//不能直接存取NSObject,需要先归档转成NSData
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:userModel];
[defaults setObject:data forKey:@"UserModel"];
[defaults synchronize];
// 读取
NSData * data = [[NSUserDefaults standardUserDefaults]objectForKey:@"UserModel"];
// 解档
userModel = [NSKeyedUnarchiver unarchiveObjectWithData:data];