通知
是一对多的通知模式,是iOS中一个调度消息通知的类,采用单例模式设计,实现传值、回调等。
- 方法一
//发送通知
NotificationCenter.default.post(name: "name", object: <#obj#>)
//添加监听通知
NotificationCenter.default.addObserver(self, selector: #selector(deleteSingModel(_:)), name: "name", object: nil)
@objc func deleteSingModel(_ noti: Notification){
let obj = noti.object
}
//销毁通知 ---(UIViewController不用自己调用了)
NotificationCenter.default.removeObserver(self, name: "name", object: nil)
- 方法二
注:如果使用这种必须销毁页面时必须要销毁通知否则会多次调用(observer:消息的接收对象,这个方法的接收对象不是不是self不能用方法一的销毁方式)
xx = NotificationCenter.default.addObserver(forName: "name", object: nil, queue: OperationQueue.main) { (noti) in
printLog("接受远程推送处理:",noti.userInfo)
}
//销毁通知
NotificationCenter.default.removeObserver(<#T##observer#>)