偶试一下kvo

突然有个想法要写一下kvo,虽然网上的资料一大把,但是个人感觉有些文章还是有些错误,趁着这段时间还有点时间就来写一下kvo的是例,算是来个kvo的使用来次正名吧

想一想对象之间的通信有哪几种?(根据我的所知,主要有单例模式,通知中心,代理模式以及block,用过代理模式和block的,应该都能知道,这两种模式通讯之间的方式几乎是一模一样,ios4.0之后,block用的越来越多,4.0之前,几乎用的是代理模式,当然通讯方式也还包括我现在正要讲的kvo)

kvo主要用来做两个对象之间的通信,kvo的全,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知。简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了,这里我提供的实例就是人的银行账号与人之间的一个通讯.

先来看看kvo的使用步骤

1.注册通知对象,依靠下面这个方面

- (void)addObserver:(NSObject *)observer forKeyPath:(NSString *)keyPath options:(NSKeyValueObservingOptions)options context:(void *)context 这个方法的参数来解释一下,observer是指谁来监听这个对象,keyPath是指我们需要监听的对象的某一个属性,options是指监听的对象是什么,context是指一些私有的参数,比如比如上下文

2.回调函数

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context

代码难得贴,打个包去下载好了,下载链接如下

点击打开链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值