iOS使用NSUserDefault保存对象模型

我们都知道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出来的代码怎么都是一个颜色?

你可能感兴趣的:(iOS使用NSUserDefault保存对象模型)