oc - KVC的理解

2019-08-24  本文已影响0人  雨天多久就

KVC 键值编码协议 即NSKeyValueCoding协议,是NSObject的一个非正式协议。
它的作用是我们可以通过- (nullable id)valueForKey:(NSString *)key;- (void)setValue:(nullable id)value forKey:(NSString *)key;这两个方法实现对对象“属性”的读写。
我认为要理解KVC,理解上面两个方法即可。

- (nullable id)valueForKey:(NSString *)key;

根据key来获取对象的某个“属性”值

当这个方法调用的时候,操作过程如下:

- (void)setValue:(nullable id)value forKey:(NSString *)key;

根据key来设置对象的某个“属性”值

操作如下:

总结:

从上面看,都是先查找对应的访问方法,找不到的情况下找实例变量,如果还找不到,就会调用默认的方法并抛出异常。
从上面的过程看,总结了以下需要注意的几点:

上一篇 下一篇

猜你喜欢

热点阅读