KVC與KVO

1.KVC,即是指 NSKeyValueCoding,一個非正式的 Protocol,提供一種機制來間接訪問對象的屬性。KVO就是基於KVC實現的關鍵技術之一。一個對象擁有某些屬性。比如說,一個Person對象有一個name和一個address屬性。以 KVC說法,Person 對象分別有一個value對應他的name和address的key。key只是一個字符串,它對應的值可以是任意類型的對象。從最基礎的層次上看,KVC有兩個方法:一個是設置key的值,另一個是獲取key的值。
2.KVC的keypath支持用點連接多層路徑;
3. Key-Value Observing(KVO)建立在KVC之上,它能夠觀察一個對象的KVC key path值的變化。舉個例子,用代碼觀察一個person對象的address變化,使用[obj addObserver:self forKeyPath:@“xx” options:0 context:KVO_CONTEXT_ADDRESS_CHANGED];方法可以爲obj對象的xx屬性變化時註冊觀察者,具體觸發的方法爲self的observeValueForKeyPath:ofObject:change:context:方法,也即self需要實現這個方法。非常適用於界面顯示根據數據屬性變化而需要實時變化的情況。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章