美文网首页
KVC字典转模型底层实现原理

KVC字典转模型底层实现原理

作者: 西门丨不吹雪 | 来源:发表于2019-03-01 16:29 被阅读0次

遍历字典里面所有的key

key:name
就去模型中查找有没有setName:,直接调用这个对象setName:赋值
假如没有找到setName:。就会去模型中查找有没有_name属性,_name = value
假如没有找到_name,还会去模型中查找name属性
最终没有找到,就会直接报错。

 + (instancetype)flageWithDict:(NSDictionary *)dict
{
    XMGFlag *flag = [[self alloc] init];

// 利用KVC字典转模型,下面实现方法就是此注释方法的实现
//    [flag setValuesForKeysWithDictionary:dict];
  
    [dict enumerateKeysAndObjectsUsingBlock:^(NSString *key, id obj, BOOL *stop) {
     NSString *funcName = [NSString stringWithFormat:@"set%@:",key.capitalizedString];
     if ([flag respondsToSelector:NSSelectorFromString(funcName)]) {
     [flag setValue:obj forKeyPath:key];
    }
}];

return flag;
}

相关文章

  • KVC字典转模型底层实现原理

    遍历字典里面所有的key key:name就去模型中查找有没有setName:,直接调用这个对象setName:赋...

  • KVC底层实现和应用

    一、KVC字典转模型的实现原理 假设dict字典中有name,icon的Key,CYXModel模型类中必须要有同...

  • 14-Swift中字典转模型

    字典转模型(初始化时传入字典) 字典转模型(利用KVC转化) 一、 普通的字典转模型: 二、利用KVC字典转模型:

  • iOS 字典转模型KVC实现

    字典转模型 KVC 实现 KVC 字典转模型弊端:必须保证,模型中的属性和字典中的key一一对应。 如果不一致,就...

  • 小知识点二

    一、利用KVC字典转模型实现原理:遍历字典中的所有key,去模型中查找有没有跟key相似的属性名。 1.遍历出na...

  • KVC的简单使用

    KVC字典转模型 KVC 中经常使用的就是字典转模型 KVC的大招 KVC设置对象属性及取值 KVC间接设置对象属...

  • 字典转模型(二) --学习MJExtension

    字典转模型方法实现(利用kvc可快速实现) 但是有时字典一些属性我们不需要时, 即我们模型的属性与字典的key不一...

  • iOS之KVC字典转模型的底层实现

    KVC: Key Value Coding (键值编码) 在iOS开发中,KVC是我们经常要使用的技术.那么KVC...

  • KVC /KVO的底层原理和使用场景

    1 KVC(KeyValueCoding) 1.1 KVC 常用的方法 1.2 KVC 底层实现原理 1.3 KV...

  • KVC /KVO的底层原理和使用场景

    1 KVC(KeyValueCoding) 1.1 KVC 常用的方法 1.2 KVC 底层实现原理 1.3 KV...

网友评论

      本文标题:KVC字典转模型底层实现原理

      本文链接:https://www.haomeiwen.com/subject/puaduqtx.html