NSUserDefault存储对象模型

来源:互联网 发布:工业控制网络安全性 编辑:程序博客网 时间:2024/04/27 22:38
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];

0 0