KVO 通知中心

1. KVO观察者模式.

    给某个实例变量注册一个观察者. 其中 Model为定义的模型  ICBCPrice为模型的实例变量.  options的两个值分别是 新值和旧值   context 可以起到表示作用.

    [_Model addObserver:self forKeyPath:@"ICBCPrice" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:nil];

  实施监听, 如果改变ICBCPrice的值就会调用此监听方法;

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

   监听的是ICBCPrice 就进入.

    if ([keyPath isEqualToString:@"ICBCPrice"]) {

        self.ICBCPrice.text = [_Model valueForKey:@"ICBCPrice"];

    }

    }

    删除观察者.    

   - (void)dealloc

   {

         //移除观察者.

        [self.Model removeObserver:self forKeyPath:@"ICBCPrice"];

   }

2 通知中心   

   其实相当于target-action 或者是代理.  将代理者变成了通知中心.   将委托代理的执行的方法调用变成了发送通知.

    注册一条通知

    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(changeNotification:) name:@"myNotification" object:nil];

    

    发送一条通知

    [[NSNotificationCenter defaultCenter]postNotificationName:@"myNotification" object:nil];

 

转载于:https://www.cnblogs.com/jfhn/p/4448884.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值