作者: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的合法性檢查由用戶承擔。
其它