1.为什么用
之前给model赋值的时候,一个一个往上写,写的贼tm烦,所以一直想找一个简单方便的方法。。。来张图感受下。
2.怎么用
用这个之前我是知道有这么一个方法能快捷的赋值的,但是为什么没用呢?因为它搞不好就崩。使用方法很简单:
Model *item = [[Model alloc]init];
[item setValuesForKeysWithDictionary:dic];
其中字典的key值需要和model的属性一一对应,完全相同。
需要注意的是崩也是有原因的,基本上是因为字典中的key值在model中没有发现对应得属性。但是反过来,model中有多余的属性时,不会崩溃。
其次需要注意的是,当字典中的key值有oc关键字时,model对应属性不能写成关键字,如id等,那么应该怎么做呢。
答:实现下面的方法:
-(void)setValue:(id)value forUndefinedKey:(NSString *)key;
类似这样:
-(void)setValue:(id)value forUndefinedKey:(NSString *)key{
if ([key isEqualToString:@"id"]) {
self.wbid = value;
//wbid是替代的id属性
}
}