ios KVO机制的认识

  KVO,这个词,我很熟悉,也曾经认为自己对它理解的很好,直到今天看到了使用KVO实现的代码,才真正了解它的强大。

1,KVO的优点(从别的地方copy过来的):

KVO的优点:
当 有属性改变,KVO会提供自动的消息通知。这样的架构有很多好处。首先,开发人员不需要自己去实现这样的方案:每次属性改变了就发送消息通知。这是KVO 机制提供的最大的优点。因为这个方案已经被明确定义,获得框架级支持,可以方便地采用。开发人员不需要添加任何代码,不需要设计自己的观察者模型,直接可 以在工程里使用。其次,KVO的架构非常的强大,可以很容易的支持多个观察者观察同一个属性,以及相关的值。


2,KVO应用的场景

---某个对象的属性变化时,其他对象或者UI也会有变化。(强调及时性,而且更利于封装,减少代码耦合)

---通常与NSOperation子类的操作有关。


3,KVO的相关的几个方法

---addObserver:forKeyPath:options:context:  //注册“成为”观察者。

---observeValueForKeyPath:ofObject:change:context: // 实现如何响应变化的消息。

---+ (BOOL)automaticallyNotifiesObserversForKey:(NSString*)key //可定制某些属性是否自动通知。

---willChangeValueForKey 和 didChangeValueForKey: //手动通知相关。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值