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

注意:

  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|“通知”与“观察者模式”)