詳細了解Cocoa中KVO機制是什么
詳細了解Cocoa中KVO機制是什么是本文要介紹的內容,通過本文你可以方便有很好的去學習cocoa,不多說,我們來看詳細內容。
iPhone開發最基本的就是掌握蘋果Cocoa這個面向對象開發的基本框架.本文主要簡單介紹Cocoa的KVO機制的概念及用法.
問:KVO是一個怎么樣的Cocoa機制?
答:Kvo(Key Value Coding)是cocoa中用來設值或取值的協議(NSKeyValueCoding),跟java的ejb有點類似。都是通過對變量和函數名進行規范達到方便設置類成員值的目的.它是Cocoa的一個重要機制,它有點類似于Notification,但是,它提供了觀察某一屬性變化的方法,而Notification需要一個發送notification的對象,這樣KVO就比Notification極大的簡化了代碼。這種觀察-被觀察模型適用于這樣的情況,比方說根據A(數據類)的某個屬性值變化,B(view類)中的某個屬性做出相應變化。對于推崇MVC的cocoa而言,kvo應用價值很高。
kvo的使用方法:
1、注冊: -(void)addObserver:(NSObject *)anObserver forKeyPath:(NSString *)keyPath options:(NSKeyValueObservingOptions)options context:(void *)context keyPath就是要觀察的屬性值,options給你觀察鍵值變化的選擇,而context方便傳輸你需要的數據(注意這是一個void型)
2、實現變化方法:
-(void) observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context change里存儲了一些變化的數據,比如變化前的數據,變化后的數據;如果注冊時context不為空,這里context就能接收到。是不是很簡單?kvo的邏輯非常清晰,實現步驟簡單。
小結:詳細了解Cocoa中KVO機制是什么的內容介紹完了,通過本文的學習是不是以及對KVO有了一定的基礎了解。好吧!最后希望本文對你有所幫助!




















