如何发布和接收通知?

时间:2010-04-20 15:28:42

标签: iphone notifications

是否有一个易于理解的模式如何发送通知以及如何接收通知?代码段?该文档在该主题上写了150页。想看一个简单的例子。

3 个答案:

答案 0 :(得分:69)

发送通知:

[[NSNotificationCenter defaultCenter] postNotificationName:@"MyCacheUpdatedNotification" object:self];

收到它:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(cacheUpdated:) name:@"MyCacheUpdatedNotification" object:nil];

采取行动:

- (void)cacheUpdated:(NSNotification *)notification {
[self load];
}

处理它:

[[NSNotificationCenter defaultCenter] removeObserver:self];

答案 1 :(得分:0)

  1. 注册推送通知配置文件并在您的应用程序中设置它是一个链接来执行该操作PushNotification(注意,您需要一些服务器或捕获设备推送通知ID的内容才能够向这些设备发送通知)

  2. 接下来假设您正在使用Windows Server或.net兼容作为您的服务器,有一个很好的C#api写入向Apple服务器发送推送通知(一旦您有一个证书和设备注册了它,你存储在您的服务器中),这里有演示如何使用它,非常酷的继承人链接C# push notification src

  3. 这就是它...我使用.Net技术给你快速解决方案,如果你使用其他东西,你可以浏览一下,看看你使用的平台是否有可用的解决方案我确定你会发现一些东西,如果不是你可以alwyas自己做:)

答案 2 :(得分:0)

相同的快速版本:

每当您需要发布通知时:

NotificationCenter.default.post(name: NSNotification.Name(rawValue: "UpdateAccepted"), object: self)

要在其中接收通知的控制器上:

override func viewDidLoad(_ animated: Bool) {
    super.viewDidLoad(true) {
    NotificationCenter.default.addObserver(self, selector: #selector(updateAccepted(notification:)), name: NSNotification.Name(rawValue: "UpdateAccepted"), object: nil)
}

deinit {
    NotificationCenter.default.removeObserver(self, name: NSNotification.Name(rawValue: "UpdateAccepted"), object: nil)
}

@objc func updateAccepted(notification: Notification) {
    handleRefresh()
}