KVC
查找規(guī)則:
先查找和直接寫入的字符串相同的成員變量,如果找不到就找以下劃線開頭的成員變量。
常見用處:
- 對私有變量進(jìn)行賦值;
- 字典轉(zhuǎn)模型。
注意點:
- 字典轉(zhuǎn)模型的時候,字典中的某一個key一定要在模型中有對應(yīng)的屬性蓄愁。
- 如果一個模型中包含了另外的模型對象,是不能直接轉(zhuǎn)化成功的。
- 通過kvc轉(zhuǎn)化模型中的模型,也是不能直接轉(zhuǎn)化成功的踱蠢。
KVO
底層原理
當(dāng)一個類的屬性被觀察的時候火欧,系統(tǒng)會通過runtime動態(tài)的創(chuàng)建一個該類的派生類棋电,并且會在這個類中重寫基類被觀察的屬性的setter方法茎截,而且系統(tǒng)將這個類的isa指針指向了派生類,從而實現(xiàn)了給監(jiān)聽的屬性賦值時調(diào)用的是派生類的setter方法赶盔。重寫的setter方法會在調(diào)用原setter方法前后企锌,通知觀察對象值得改變。
Delegate于未、Notification撕攒、KVO優(yōu)缺點
delegate、notification烘浦、KVO各優(yōu)缺點