KVC中setValuesForKeysWithDictiona

作者: LeeCen | 来源:发表于2016-03-17 15:48 被阅读1930次

KVC 是键值编码,一个非正式的 Protocol ,提供一种机制来间接访问对象属性,KVO 就是基于 KVC 实现的关键技术之一

  • 在字典数组转模型数组时,使用这个setValuesForKeysWithDictionary,不用自己一一的给对象赋值而根据匹配类中与字典key同名的属性,并赋值给属性从而能预防自己匹配key 错误和减少代码代码量。
JSON 获取的数据
  • 执行完setValuesForKeysWithDictionary这个方法后只要对象中都包含了这些键值都有值了
属性
  • 但注意如果JSON里面的id和属性(模型属性)里面的id没有一一对应,我现在注释掉一个属性,再运行程序


    注释掉一个属性
  • 控制台就是给我们报这样的错误:


    程序崩溃
  • 直接导致程序崩溃,解决方法就是,实现一个方法setValue:forUndefinedKey:


    setValue:forUndefinedKey:
  • 过滤掉给不存在的键值赋值,运行程序就不会崩溃了

输出过滤掉给不存在的键值赋值

相关文章

  • KVC中setValuesForKeysWithDictiona

    从字典映射到一个对象,这是KVC中的一个方法所提供的,这个方法就是 setValuesForKeysWithDic...

  • KVC中setValuesForKeysWithDictiona

    KVC 是键值编码,一个非正式的 Protocol ,提供一种机制来间接访问对象属性,KVO 就是基于 KVC 实...

  • iOS开发中你不知道的一些小技巧(收藏)

    KVC技巧 registerDefaults: 一、KVC技巧 在KVC编程中, valueForKey: 在一些...

  • KVC

    今天和大家讨论一下OC中KVC(KeyValueCoding)键值编码 KVC定义 KVC(KeyValueCod...

  • 2.2 KVC和KVO详解

    image.png KVC KVC定义 KVC(Key-value coding)键值编码,就是指iOS的开发中,...

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

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

  • KVO&KVC

    KVC KVC: key value coding 键值编码 通过KVC语法,可以修改对象中的属性。设置值时:例...

  • iOS底层探索之KVC

    前言 在iOS的面试中,KVC几乎是必问的面试题之一,那么到底什么是KVC,KVC的原理是什么呢? KVC又称键值...

  • iOS KVC与 KVO详解

    我们先看KVC KVC KVC(Key-value coding)键值编码,就是指iOS的开发中,可以允许开发者通...

  • 无标题文章

    ios中的 kvc和kvo的区别 KVC编程时setValue(value: AnyObje...

网友评论

    本文标题:KVC中setValuesForKeysWithDictiona

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