我想在点击通知时在特定视图控制器中显示推送通知,并且还想将数据从通知发送到视图控制器。我正在使用 swift 进行开发
问问题
843 次
2 回答
0
您应该为您的视图控制器实现路由器,该控制器将监听应用程序委托发送的通知,他将决定做什么。我就是这样做的,可能是一个更好的解决方案。
于 2017-04-26T06:25:57.270 回答
0
正如@luzo 指出的那样,通知是向视图控制器发送事件发生的方式。通知还有一个 userinfo 参数,它接受您希望与通知一起发送到视图控制器的数据字典。
在 Swift 3 中,将其添加到点击按钮:
let center = NotificationCenter.default
center.post(name: Notification.Name(rawValue: "nameOfNotification"),
object: nil,
userInfo:["id":"data"])
并在 viewcontroller 中注册通知的 id 并添加函数引用:
let center = NotificationCenter.default
center.addObserver(forName:NSNotification.Name(rawValue: "nameOfNotification"), object:nil, queue:nil, using:notifDidConnect)
并添加功能实现:
func notifDidConnect(notification:Notification) -> Void {
guard let userInfo = notification.userInfo,
let id = userInfo["id"] as? String else {
print("error occured")
return
}
print("notification received")
}
于 2017-04-26T06:54:50.893 回答