04|“通知”与“观察者模式”

作者: 大米的木头 | 来源:发表于2017-06-26 07:58 被阅读7次

注意:

  1. 通知是一种一对N的关系。即,在一个地方发生了变化,其他地方的观察者(们)可以了解到变化。

2.需要在初始化的时候设一个标识符,以区分不同的通知。

//此处的getmessage就是一个标识符,可供其他地方的观察者匹配
let notificationName = Notification.Name.init(rawValue: "getmessage")

3.通知可能伴随着一些数据的传递,通过字典进行存储以及取出。

NotificationCenter.default.post(name: notificationName, object: self, userInfo: ["message": message])

4.在其他地方(类)接收通知

//接收通知,通过标识符匹配!!!
let notificationName = Notification.Name.init(rawValue: "getmessage")
NotificationCenter.default.addObserver(self, selector: #selector(getNotification), 
name: notificationName, object: nil)

5.自定义的方法中执行具体的操作

func getNotification(){
  //写执行
}

相关文章

  • 04|“通知”与“观察者模式”

    注意: 通知是一种一对N的关系。即,在一个地方发生了变化,其他地方的观察者(们)可以了解到变化。 2.需要在初始化...

  • iOS中通知实现观察者模式

    KVO与通知都可实现观察者模式。 一、通知简介 NSNotificationCenter是一个消息通知机制,类似广...

  • RxJava 再 "用力" 一点点

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

  • Python观察者模式

    观察者模式,被观察物自身属性通知观察者。

  • iOS-通知中的知识点

    # 通知中的知识点 - **1.观察者模式:** - 观察者模式-发生时间后,以广播的形式,通知所有监听者 ---...

  • 设计模式之观察者模式(Observer Pattern)

    观察者模式也叫发布/订阅模式。 观察者模式用于建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对...

  • Observer模式(观察者模式)

    观察者模式(Observer Pattern):当观察对象的状态变化时,会自动通知给观察者。观察者模式属于行为型模...

  • 观察者模式

    观察者模式 观察者模式的具体应用有两个:通知(notification)和KVO(Key-ValueObserve...

  • 编程模式·观察者模式、事件通知、消息队列三者区别

    观察者模式、事件通知、消息队列三者有类似,都有回调函数注册,通知调用的设计,容易混淆。 简述和区别 观察者模式:被...

  • iOS KVO的使用

    1.KVO和通知(Notification)同属于观察者模式.2.观察者模式的定义:观察者模式定义了一种一对多的依...

网友评论

    本文标题:04|“通知”与“观察者模式”

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