shr*_*ani 1 notifications ios swift unusernotificationcenter
我试图从appdelegate发布通知NotificationCenter并在另一个视图中接收通知但未收到通知.
发布通知: -
func xmppStream(_ sender: XMPPStream, didReceive message: XMPPMessage)
{
print("did receive message isss-->\(message)")
NotificationCenter.default.post(name: Notification.Name("MessageReceived"), object: message)
}
Run Code Online (Sandbox Code Playgroud)
在viewdidload中收到通知: -
NotificationCenter.default.addObserver(self, selector: #selector(self.messagereceived(notification:)), name: Notification.Name("MessageReceived"), object: nil)
Run Code Online (Sandbox Code Playgroud)
方法 :-
@objc func messagereceived(notification:Notification)
{
let message = notification.object as? XMPPMessage
print("chat conversion message is----->\(message)")
}
Run Code Online (Sandbox Code Playgroud)
我没有调用" messagereceived "方法.
所以任何人都有与此相关的解决方案然后请帮助我.
提前致谢.
zis*_*oft 10
更改通知帖子
NotificationCenter.default.post(name: Notification.Name("MessageReceived"), object: message)
Run Code Online (Sandbox Code Playgroud)
至
NotificationCenter.default.post(Notification(name: Notification.Name(rawValue: "MessageReceived"),object: message))
Run Code Online (Sandbox Code Playgroud)
来自的观察员
NotificationCenter.default.addObserver(self, selector: #selector(self.messagereceived(notification:)), name: Notification.Name("MessageReceived"), object: nil)
Run Code Online (Sandbox Code Playgroud)
至
NotificationCenter.default.addObserver(self, selector: #selector(self.messagereceived(notification:)), name: NSNotification.Name(rawValue: "MessageReceived"), object: nil)
Run Code Online (Sandbox Code Playgroud)
就我而言,在我的应用程序中的某些情况下我无法获取NotificationCenter。问题是使用
NotificationCenter.default.addObserver(self, selector: #selector(btnRegister(_:)), name: Notification.Name(rawValue: "btnRegister"), object: nil)
Run Code Online (Sandbox Code Playgroud)
在我的 viewDidLoad() 函数中,当我在 viewWillAppear() 函数中设置上述代码时,效果很好。
根据您的代码逻辑,将上面的代码移动到其他函数或代码的其他部分,并尝试解决您的问题。
| 归档时间: |
|
| 查看次数: |
4349 次 |
| 最近记录: |