swift3.0 有很大变化,其中之一就是NSNotification
使用跟原来不一样,以前NSNotification name
是String
;3.0中定义了一个类型NSNotification.name
;
使用时最好定义一个NSNotification.name
常量方便使用;
下面废话不多说直接上代码:
- ***定义,发送部分 ***
//通知名称常量
let NotifyMsgRecvName = NSNotification.Name(rawValue:"notifyMsgRecvName")
//发送通知
NotificationCenter.default.post(name:NotifyMsgRecvName, object: nil, userInfo: notification.userInfo)
- ***增加监听接受部分 ***
//接受通知监听
NotificationCenter.default.addObserver(self, selector:#selector(didMsgRecv(notification:)),
name: NotifyMsgRecvName, object: nil)
//通知处理函数
func didMsgRecv(notification:NSNotification){
print("didMsgRecv: \(notification.userInfo)")
}
- 销毁通知
deinit {
NotificationCenter.default.removeObserver(self)
}