我们都知道NSUserDefault可以用来保存一些系统的对象,例如NSString、NSArray、NSDictionary等等,那么如何才能保存自定义的对象模型呢?下面给出方法
使用NSUserDefault保存model:
保存:
NSUserDefaults * defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"YES" forKey:IS_LOGIN_IN];//保存NSString
TOKEN * token = [[TOKEN alloc]init];//这是一个自定义的对象
token.username = result.data[@"member_info"][MEMBER_NAME];
token.key = result.data[@"member_info"][USER_KEY];
//不能直接存取NSObject,需要先归档转成NSData
NSData * data = [NSKeyedArchiver archivedDataWithRootObject:token];
[defaults setObject:data forKey:@"token"];
[defaults synchronize];
读取:
//创建服务,获取用户token
_orderS = [[OrderService alloc]init];
NSData * data = [[NSUserDefaults standardUserDefaults]objectForKey:@"token"];
//在这里解档
_token = [NSKeyedUnarchiver unarchiveObjectWithData:data];
PS:简书的markdown出来的代码怎么都是一个颜色?