前面我们简单使用了KVC, 发现KVC能够对私有的成员进行取值赋值, 那么KVC的赋值取值的过程是什么样的?了解下..
赋值过程
赋值过程:
forUndefinedKey:方法,默认是抛出异常
验证过程:
1. 先定义好方法和变量
2. 验证:
先找相关方法,顺序
set<Key>:, _set<Key>:, setIs<Key>:
判断是否可以直接方法成员变量,系统默认返回YES;
如果返回NO, 直接抛异常!!
如果返回YES
再找相关成员变量, 顺序
_<key> _is<Key> <key> is<Key>
取值过程
赋值过程:
验证过程:
1. 先定义好方法和变量
2. 验证开始
先找相关方法,顺序
get<Key>, key, countOfKey & objectInKeyAtIndex
判断是否可以直接方法成员变量,系统默认返回YES;
如果返回NO, 直接抛异常!!
如果返回YES
再找相关成员变量, 顺序
_<key> _is<Key> <key> is<Key>
KVC赋值取值过程, 你学会了么?
这是KVC系列的第二篇,下篇会继续探究KVC, 敬请期待...
本文分享自 HelloCode开发者学习平台 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!