kvc & kvo

2019-04-21  本文已影响0人  凛冬将至2002

KVC是OC特有的,本质是在运行时动态的给对象发送setValue:forKey 消息,设置数值 -调用super.init 保证对象已经被创建完成 .当给对象发送setValue:forKey 消息时要判断对象是否存在key所对应的属性,直接赋值 如果没有就调用undefinedKey(默认崩溃,需要重写)

setValue:forKey的调用顺序首先会寻找set<key>方法,如果没有就去找_<key> _is<Key> <key> is<key> 顺序寻找,如何还没找到就调用undefinedKey(默认崩溃,需要重写).

ValueForKey的调用顺序 按照get<key>, <key> is<key> 顺序寻找,如果没有找到按照_<key> _is<key> <key> is<key>顺序寻找,如何还没找到就调用undefinedKey(默认崩溃,需要重写).
参考链接:
https://blog.csdn.net/u011146511/article/details/62423299
\color{red}{人}

上一篇 下一篇

猜你喜欢

热点阅读