iOS-KVC
2018-12-04 本文已影响70人
KeepOnline
KVC(key Value Coding)
,俗称“键值编码”,通过一个key来访问某个属性
常见的API有:
- (void)setValue:(id)value forKey:(NSString *)key;
- (void)setValue:(id)value forKeyPath:(NSString *)keyPath;
- (id)valueForKey:(NSString *)key;
- (id)valueForKeyPath:(NSString *)keyPath;
setValue:forKey:的原理
1.先查找相关set方法:
setKey:
、_setKey:
2.方法未找到时,查找成员变量:_key
、_isKey
、key
、isKey
![](https://img.haomeiwen.com/i2263187/f84ccb03cf7f974d.png)
![](https://img.haomeiwen.com/i2263187/04e474cb5fb6d58f.png)
valueForKey:的原理
1.先查找相关get方法:
getKey:
、key:
、isKey
、_key
2.方法未找到时,查找成员变量:_key
、_isKey
、key
、isKey
![](https://img.haomeiwen.com/i2263187/e9111511fa115be0.png)
![](https://img.haomeiwen.com/i2263187/b17d42b87fb00cab.png)