kvc原理

Posted diyigechengxu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kvc原理相关的知识,希望对你有一定的参考价值。

KVC底层实现原理

  • 第一步:寻找该属性有没有setsetter方法?有,就直接赋值
  • 第二步:寻找有没有该属性带下划线的成员属性?有,就直接赋值
  • 第三步:寻找有没有该属性的成员属性?有,就直接赋值

 

  • 1、首先搜索setKey:方法.(key指成员变量名, 首字母大写)
  • 2、上面的setter方法没找到, 如果类方法accessInstanceVariablesDirectly返回YES. 那么按 _key, _isKey,key, iskey的顺序搜索成员名.(NSKeyValueCodingCatogery中实现的类方法, 默认实现为返回YES)
  • 3、如果没有找到成员变量, 调用setValue:forUnderfinedKey:

以上是关于kvc原理的主要内容,如果未能解决你的问题,请参考以下文章

KVC,KVO 实现原理

KVC原理与数据筛选

KVC, KVO实现原理

iOS之深入解析KVC的底层原理和自定义KVC的实现

iOS底层KVC原理

iOS底层KVC原理