美文网首页
KVC的实现原理

KVC的实现原理

作者: 帅帅的mum | 来源:发表于2022-06-09 10:24 被阅读0次

是一种可以通过字符串的名字来访问类属性的机制,而不是通过setter、getter方法,

设值原理:1.首先会搜索是否有setter方法,没有则搜索是否有setIsKey方法,如果找到了方法,就传递参数,调用方法。

2.如果没找到setkey方法。调用是否能够访问成员变量,如果返回yes,就会按照,_key._isKey,key,isKey 顺序查找成员变量,找到成员变量后直接赋值,如果没找到也会调用setvalue:forUndefineKey,并抛出异常

取值原理跟设值原理很像,不再赘述

直接修改成员变量不会触发KVO,但是KVC可以,说明kvc内部做了监听

相关文章

网友评论

      本文标题:KVC的实现原理

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