详细了解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有了一定的基础了解。好吧!最后希望本文对你有所帮助!