- KVC的全稱是Key-Value Coding骏庸,俗稱“鍵值編碼”毛甲,可以通過一個key來訪問某個屬性。
- 常見的API有:
- (void)setValue:(id)value forKeyPath:(NSString *)keyPath;
- (void)setValue:(id)value forKey:(NSString *)key;
- (id)valueForKeyPath:(NSString *)keyPath;
- (id)valueForKey:(NSString *)key;
setValue:forKey:的原理.png
valueForKey-的原理.png
- 通過KVC修改屬性
會
觸發(fā)KVO:KVC在賦值的時候會進(jìn)行方法的調(diào)用具被,首先調(diào)用(_setKey,setKey方法)玻募,如果沒有set方法,則直接內(nèi)部自己調(diào)用設(shè)置屬性(key一姿,_key)七咧,內(nèi)部調(diào)用了willChangeValueForKey和didChangeValueForKey,會觸發(fā)KVO叮叹。