美文网首页
KVC的内部实现机制

KVC的内部实现机制

作者: DL是谁 | 来源:发表于2019-05-06 11:55 被阅读0次

KVO的setValue:forKey原理
1、按照setKey_setKey的顺序查找成员方法,如果找到方法,传递参数,调用方法
2、如果没有找到,查看accessInstanceVariablesDirectly的返回值(accessInstanceVariablesDirectly的返回值默认是YES),
返回值为YES,按照_Key,_isKey的顺序查找成员变量,如果找到,直接赋值,如果没有找到,调用setValue:forUndefinedKey:,抛出异常
返回NO,直接调用setValue:forUndefinedKey:,抛出异常

KVO的ValueforKey原理
1、按照getKey,key,isKey,_key的顺序查找成员方法,如果找到直接调用取值
2、如果没有找到,查看accessInstanceVariablesDirectly的返回值
返回值为YES,按照_Key,_isKey,Key,isKey的顺序查找成员变量,如果找到,直接取值,如果没有找到,调用setValue:forUndefinedKey:,抛出异常
返回NO,直接调用setValue:forUndefinedKey:,抛出异常

相关文章

网友评论

      本文标题:KVC的内部实现机制

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