创建模型出现成员变量名字冲突时的解决方法

建立模型时可能会出现解析的文件中包含UI里的关键字,比如说id,description,self

解决方法有2.

1.换一个名字作为成员变量的名字,对成员变量逐一赋值,但这个方法不太方便,当变量名太多时书写会很不方便.

2.当然有方法少写些代码,

给_myDescription赋值时调用setDescription:

@property(nonatomic,copy,setter=setDescription:)NSString *    myDescription;

-(void)setValue:(id)value forUndefinedKey:(NSString *)key

{

    //如果字典中有个名为description的key,但是类中不能定义名为description的属性,可以定义myDescription存储description的值

    if([key isEqualToString:@"description"]){

        self. myDescription=value;

    }

    NSLog(@"%@",key);

}

这是在使用[model setValuesForKeysWithDictionary:dic];时才会调用

dic里键对应的是模型里的成员变量名,值是要赋的值;这个方法会将字典模型中成员变量名与dic里键名相同的的值赋给model.

 

posted @ 2015-11-04 10:43  BuddyLiu  阅读(316)  评论(0编辑  收藏  举报