首页 > 移动平台 > 详细

IOS 字典转模型中出现id怎么办

时间:2015-06-14 13:54:21      阅读:302      评论:0      收藏:0      [点我收藏+]

首先看看代码

@property (nonatomic,strong) NSString *id;
@property (nonatomic,strong) NSString *screen_name;
@property (nonatomic,strong) NSString *url;
@property (nonatomic,strong) NSString *mid;
@property (nonatomic,strong) NSString *from;
@property (nonatomic,strong) NSString *created_at;
@property (nonatomic,strong) NSString *text;
@property (nonatomic,strong) NSString *type;
@property (nonatomic,strong) NSString *name;
@property (nonatomic,strong) NSString *user_id;
@property (nonatomic,strong) NSString *width;
@property (nonatomic,strong) NSString *height;
@property (nonatomic,strong) NSString *tag;
@property (nonatomic,strong) NSString *profile_image;
@property (nonatomic,strong) NSString *image1;
@property (nonatomic,strong) NSString *image2;
@property (nonatomic,strong) NSString *image0;

属性很多。手工写setvalue太麻烦

+ (instancetype)picinfo:(NSDictionary *)dict
{
    PicModel *picmodel = [[self alloc] init];
    [picmodel setValuesForKeysWithDictionary:dict];
    return picmodel;
}

单纯的运行setValuesForKeysWithDictionary是必然core的


这时只需要重写- (void)setValue:(id)value forUndefinedKey:(NSString *)key 方法即可

- (void)setValue:(id)value forUndefinedKey:(NSString *)key  {
    if([key isEqualToString:@"id"])
        self.userid = value;
}

并把声明 中的id改为userid

@property (nonatomic,strong) NSString *userid;

这样一来执行程序快速,还省去了不少手工代码。 

IOS 字典转模型中出现id怎么办

原文:http://my.oschina.net/wupengnash/blog/466526

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!