Swift: 如何接收来自服务器的远程通知?
Swift: How to receive a remote notification from server?
这是一个一般性问题,但我似乎找不到直接的答案,而且我也不确定要寻找什么。我有一个后端,当有人喜欢你发布的东西时发送通知,我能够发送它并且应用程序接收它。但是,我不确定如何创建 UI 来处理通知。我的第一个猜测是,由于接收通知会触发 AppDelegate 中的 didReceiveRemoteNotification fetchCompletionHandler,我应该尝试在该函数中获取当前 VC 并从那里添加图形元素。但是,我读到这不是您应该做的事情,您应该改用 NSNotifications。问题是我不确定我是否理解如何使用 NSNotificationsCenter 表达远程通知。
你有什么建议?
NSNotification 是 Observer 设计模式的一部分。
它像 "broadcast"。
首先你必须注册每个应该监听事件的组件:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myFonction) name:@"Notif name" object:nil];
//swift
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(myFonction), name: "notif name", object: nil)
接下来,当您有消息要广播时,post 一个同名通知:
[[NSNotificationCenter defaultCenter] postNotificationName:@"Notif name" object:nil];
//swift
NSNotificationCenter.defaultCenter().postNotificationName("notif name", object: nil)
当您 post 通知时,方法 myFonction
将在 target
上被调用
这是一个一般性问题,但我似乎找不到直接的答案,而且我也不确定要寻找什么。我有一个后端,当有人喜欢你发布的东西时发送通知,我能够发送它并且应用程序接收它。但是,我不确定如何创建 UI 来处理通知。我的第一个猜测是,由于接收通知会触发 AppDelegate 中的 didReceiveRemoteNotification fetchCompletionHandler,我应该尝试在该函数中获取当前 VC 并从那里添加图形元素。但是,我读到这不是您应该做的事情,您应该改用 NSNotifications。问题是我不确定我是否理解如何使用 NSNotificationsCenter 表达远程通知。
你有什么建议?
NSNotification 是 Observer 设计模式的一部分。
它像 "broadcast"。
首先你必须注册每个应该监听事件的组件:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myFonction) name:@"Notif name" object:nil];
//swift
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(myFonction), name: "notif name", object: nil)
接下来,当您有消息要广播时,post 一个同名通知:
[[NSNotificationCenter defaultCenter] postNotificationName:@"Notif name" object:nil];
//swift
NSNotificationCenter.defaultCenter().postNotificationName("notif name", object: nil)
当您 post 通知时,方法 myFonction
将在 target