观察者

作者: 忆往昔Code | 来源:发表于2019-03-08 13:06 被阅读0次

// 添加键值观察
/*
1 观察者,负责处理监听事件的对象
2 观察的属性
3 观察的选项
4 上下文

NSKeyValueObservingOptionNew:提供更改前的值NSKeyValueObservingOptionOld:提供更改后的值NSKeyValueObservingOptionInitial:观察最初的值(在注册观察服务时会调用一次触发方法)NSKeyValueObservingOptionPrior:分别在值修改前后触发方法(即一次修改有两次触发)
*/
[self.person addObserver:self forKeyPath:@"name" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:@"Person Name"];

// 所有的 kvo 监听到事件,都会调用此方法
/*

  1. 观察的属性
  2. 观察的对象
  3. change 属性变化字典(新/旧)
  4. 上下文,与监听的时候传递的一致
    */
  • (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context;

相关文章

  • 前端面试考点之手写系列

    1、观察者模式 观察者模式(基于发布订阅模式) 有观察者,也有被观察者。 观察者需要放到被观察者列表中,被观察者的...

  • 观察者模式

    观察者模式,包括观察者和被观察者。观察者们将自己的需求告知被观察者,被观察者负责通知到观察者。 一、Java自带的...

  • 设计模式(三行为模式)

    观察者模式 构成 抽象被观察者 + 具体被观察者 + 抽象观察者 + 具体观察者 定义 被观察者具有修改观察列表 ...

  • Laravel5.8 模型事件与 Observer

    Observer 观察者模式创建步骤 观察者监听多个事件观察者 注册观察者注册观察者 观察者中事件的发生顺序 la...

  • PHP设计模式-观察者

    适用性 观察者观察被观察者,被观察者通知观察者 代码示例 /** * 观察者接口 */ interface Obs...

  • RxJava 原理篇

    一、框架思想 观察者模式观察者自下而上注入被观察者被观察者自上而下发射事件观察者模式 装饰器模式自上而下,被观察者...

  • java观察者模式

    案例: 定义被观察者 定义观察者 调用 优点 观察者和被观察者之间抽象耦合。观察者模式容易扩展,被观察者只持有观察...

  • RxJava 再 "用力" 一点点

    RxJava 里面采用了观察者的设计模式,因此存在观察者与被观察者,被观察者发送消息通知观察者,观察者接收到消息更...

  • RXJava

    传统的观察者模式 RxJava 四个要素 被观察者 观察者 订阅 事件 创建被观察者subscriber就是观察者...

  • 设计模式之观察者模式

    被观察者 观察者抽象 观察者的实现类 被观察者的实现 客户端 结果 同时是观察者和被观察者 客户端 执行结果

网友评论

      本文标题:观察者

      本文链接:https://www.haomeiwen.com/subject/lxkrpqtx.html