Swift 学习之 NotificationCenter
1、发布新通知:
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "MessageMainCount"), object: nil, userInfo: ["count":"\(count)"])
2、接受新通知
NotificationCenter.default.addObserver(self, selector: #selector(self.changeBadgeValue(notification:)), name: NSNotification.Name(rawValue: "MessageMainCount"), object: nil)
3、设置接受通知的监听方法
func changeBadgeValue(notification: Notification) -> Void { let name = notification.name let userInfo = notification.userInfo as! [String:Any] let userInfoDic = userInfo as NSDictionary if name == NSNotification.Name(rawValue: "MessageMainCount"){ let badgeValue: String = userInfoDic.object(forKey: "count") as! String self.messageVC.parent?.tabBarItem.badgeValue = badgeValue } }
4、移除通知监听
deinit{ NotificationCenter.default.removeObserver(self) }