KVO原理(我是來騙星星的)
KVO的原理
簡而言之就是:
1、當一個object有觀察者時,動態創建這個object的類的子類
2、對於每個被觀察的property,重寫其set方法
3、在重寫的set方法中調用- willChangeValueForKey:和- didChangeValueForKey:通知觀察者
4、當一個property沒有觀察者時,刪除重寫的方法
5、當沒有observer觀察任何一個property時,刪除動態創建的子類
附上簡易KVODemo一份
當然也會有福利的,給喜歡runtime的童鞋NSObject + DLIntrospection
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章
KVO 讓人刮目相看
DandJ
2018-11-03 19:15:06
iOS基於KVO實現響應式編程之完結篇
JackLee18
2020-07-03 06:40:15
KVO和異步圖片下載的結合使用
黎明马上就要来临
2020-07-02 02:19:58
NSNotification與KVO的區別
好名字都被占了
2020-06-30 17:39:29
KVO實現原理和代碼實現
Jaydon_mc
2020-06-27 22:03:02
Key-Value Observing(KVO)詳解
xuxunno1
2020-06-27 00:40:02
ios--kvc/kvo使用詳解
xuxunno1
2020-06-27 00:40:02
(有碼)KVO 輕量級的觀察者模式
bin236
2020-06-20 05:59:16
iOS之KVO
遇见更好的自己_Steve
2020-06-20 05:43:19
反編譯Foundation框架,通過蘋果源碼初探KVO
_小呵呵
2020-06-20 05:33:24
FBKVOController的簡單實用
songbai1211
2020-06-19 14:48:28
KVO的Block實現和Selector實現
fnxiao
2020-06-17 08:55:32
24小時熱門文章