1历帚、KVC簡介
全稱是Key-value coding沽甥,翻譯成鍵值編碼。顧名思義驻仅,在某種程度上跟map的關(guān)系匪淺谅畅。它提供了一種使用字符串而不是訪問器方法去訪問一個對象實例變量的機制。
2噪服、KVO簡介
全稱是Key-value observing毡泻,翻譯成鍵值觀察。提供了一種當(dāng)其它對象屬性被修改的時候能通知當(dāng)前對象的機制粘优。再MVC大行其道的Cocoa中仇味,KVO機制很適合實現(xiàn)model和controller類之間的通訊。
總結(jié)一下雹顺,想使用KVO有三種方法:
- 1)使用了KVC
使用了KVC丹墨,如果有訪問器方法,則運行時會在訪問器方法中調(diào)用will/didChangeValueForKey:方法嬉愧;
沒用訪問器方法贩挣,運行時會在setValue:forKey方法中調(diào)用will/didChangeValueForKey:方法。 - 2)有訪問器方法
運行時會重寫訪問器方法調(diào)用will/didChangeValueForKey:方法没酣。
因此王财,直接調(diào)用訪問器方法改變屬性值時,KVO也能監(jiān)聽到裕便。 - 3)顯示調(diào)用will/didChangeValueForKey:方法绒净。
總之,想使用KVO偿衰,只要有will/didChangeValueForKey:方法就可以了挂疆。
http://blog.csdn.net/kesalin/article/details/8194240