KVO原理(我是來騙星星的)

                 
KVO的原理

簡而言之就是:
1、當一個object有觀察者時,動態創建這個object的類的子類
2、對於每個被觀察的property,重寫其set方法
3、在重寫的set方法中調用- willChangeValueForKey:和- didChangeValueForKey:通知觀察者
4、當一個property沒有觀察者時,刪除重寫的方法
5、當沒有observer觀察任何一個property時,刪除動態創建的子類

附上簡易KVODemo一份

當然也會有福利的,給喜歡runtime的童鞋NSObject + DLIntrospection

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章