Thinking about KVC/KVO

作者:ani_di 
版權所有,轉載務必保留此鏈接 http://blog.csdn.net/ani_di

Thinking about KVC/KVO


1. 什麼是KVC/KVO

KVO:Key-Value Observing 
KVC:Key-value coding

2. 如何使用

Key-value由NSObject實現,因此所以ObjC的對象都可以使用。 
它提供了一種使用‘名字’訪問對象屬性的方法,如同所以對象都是NSDictionary。Key還支持Key path和Collection operator。Key-Value Coding Programming Guide。 
KVO是在Key-value的基礎上增加了Observing,用戶可自定義當對象發生變化時的響應。

3. KVO有什麼用

KVO可以減少很多Model與View之間數據同步所需要的代碼,通常這些代碼在Controller中實現。Interface builder的Binding inspector可以非常方便的完成界面控件綁定。 
對於非UI程序,觀察者模式同樣適用。這裏有一個官方例子

4. 什麼場合適合用KVC

KVC適合數據驅動的場景。缺點是KVC數據訪問比較慢,修改數據要遵從相應的協議,對key的合法性檢查由用戶承擔。

其它

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章