KVC的实现原理

KVC的实现原理
  • KVC,键-值编码,使用字符串直接访问对象的属性。

  • 底层实现,当一个对象调用setValue方法时,方法内部会做以下操作:

    1. 检查是否存在相应key的set方法,如果存在,就调用set方法

    2. 如果set方法不存在,就会查找与key相同名称并且带下划线的成员属性,如果有,则直接给成员属性赋值

    3. 如果没有找到_key,就会查找相同名称的属性key,如果有就直接赋值

    4. 如果还没找到,则调用valueForUndefinedKey:和setValue:forUndefinedKey:方法

作为一个开发者,有一个学习的氛围跟一个交流圈子特别重要,这是一个我的iOS交流群:413038000,不管你是大牛还是小白都欢迎入驻 ,分享BAT,阿里面试题、面试经验,讨论技术, 大家一起交流学习成长!

推荐阅读

iOS开发——最新 BAT面试题合集(持续更新中)

推荐阅读更多精彩内容

  • KVC是Key Value Coding的简称。它是一种可以通过字符串的名字(key)来访问类属性的机制。而不是通...
    153037c65b0c阅读 6,995评论 20 13
  • KVC是一种通过字符串的名字(key)来访问修改类属性值的机制。而不是通过Setter、Getter方法直接访问。...
    zhongli_007阅读 1,572评论 0 2
  • KVC(Key-value coding)键值编码,单看这个名字可能不太好理解。其实翻译一下就很简单了,就是指iO...
    我的梦工厂阅读 417评论 1 6
  • KVC(Key-valuecoding)键值编码,单看这个名字可能不太好理解。其实翻译一下就很简单了,就是指iOS...
    榕樹頭阅读 304评论 0 2
  • 这两天晚上在学习腾讯公开课的视频,其中在1月18号的内容是KVC的底层实现。看完后简单记一下学习笔记。 1、[ob...
    ZzS_2d89阅读 87评论 0 0