iOS-19-KVC/KVO原理詳解及編程指南

1、KVC簡介

全稱是Key-value coding,翻譯成鍵值編碼。顧名思義,在某種程度上跟map的關系匪淺。它提供了一種使用字符串而不是訪問器方法去訪問一個對象實例變量的機制。

2、KVO簡介

全稱是Key-value observing,翻譯成鍵值觀察。提供了一種當其它對象屬性被修改的時候能通知當前對象的機制。再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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容