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原理的主要内容,如果未能解决你的问题,请参考以下文章