iOS创建添加通知、发送通知、移除通知

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS创建添加通知、发送通知、移除通知相关的知识,希望对你有一定的参考价值。

参考技术A 1、创建通知,最好在viewDidLoad的方法中创建

2、发送通知

3、移除通知,由那个控制器创建由那个控制器移除,谁创建谁移除,最好在dealloc方法中移除,如果通知不能及时的移除掉,当下次进入该控制器时会重复创建NSNotificationCenter,在对应方法中发送通知给上一次创建的通知,但是上一个通知所在的控制器已被干掉,所以这时候就会报错

这里注意:如果dealloc方法不调用,说明当前有变量没有被释放,这时如果找不到问题所在,也可以重写控制器的返回按钮backBarButtonItem事件,在返回的时候进行移除通知操作

为啥通知会自动从 iOS 通知中心移除?

【中文标题】为啥通知会自动从 iOS 通知中心移除?【英文标题】:Why Notifications remove from iOS notification centre automatically?为什么通知会自动从 iOS 通知中心移除? 【发布时间】:2014-02-07 13:56:18 【问题描述】:

当我的应用打开时,它会自动从通知中心删除所有通知。在用户手动删除它们或点击通知之前,我不想删除所有通知。要删除徽章编号,我在我的delegateapplicationDidBecomeActiveapplication.applicationIconBadgeNumber = 0;application.applicationIconBadgeNumber = 0; 中写了这行代码有什么办法可以保存这些通知吗?

【问题讨论】:

【参考方案1】:

不,设置application.applicationIconBadgeNumber 将删除所有推送通知。

【讨论】:

我删除了这一行,但它仍在删除我的通知【参考方案2】:

当您将徽章编号设置为 0 时,这样做的副作用是所有远程通知和本地通知都将被删除。但即使不是这种情况,也没有 API 可以只删除一个特定的远程通知 - 您必须将它们全部删除。

【讨论】:

以上是关于iOS创建添加通知、发送通知、移除通知的主要内容,如果未能解决你的问题,请参考以下文章

为啥通知会自动从 iOS 通知中心移除?

Flutter ios 设备不会从 FCM 通知触发 onMessage。实施 APN 时 Sendtodevice 失败

iOS 通知的使用

Android官方开发文档Training系列课程中文版:通知用户之更新或移除通知

iOS学习之观察者模式

iOS NSNotificationCenter 移除通知带来的crash