当应用程序在前台时,通过推送通知更新选项卡栏标志计数

时间:2019-06-12 01:43:47

标签: ios swift uitabbarcontroller

我的TabBarController中有一个“通知”选项卡,我希望显示与应用程序徽章计数相同的徽章计数。我可以在所有情况下使用它,除了应用程序在前台时。

为此,我为TabBarController创建了一个自定义类,该类注册了UIApplicationWillEnterForeground通知,并将“通知”选项卡的标志设置为等于“应用”标志。我也在OnLoad()函数中做到了这一点。

现在,当应用程序已经在前台时,如何更新“通知”标签徽章?我在AppDelegate函数中捕获了通知:

    application(_:didReceiveRemoteNotification:fetchCompletionHandler:)

我知道 可能会在rootViewController周围进行挖掘以找到选项卡栏控制器,但是我的根控制器是我进入应用程序的入口点,该应用程序检查用户是否在登录令牌中钥匙串,并选择登录视图控制器或选项卡栏控制器。因此,考虑到它的存在,我不确定这是一个选择吗?

我的UI是否可以注册“推送通知”通知,就像我注册UIApplicationWillEnterForeground的方式一样?这将是理想的选择,但我还没有找到这样的通知。

任何建议或技巧将不胜感激!

1 个答案:

答案 0 :(得分:2)

didReceiveRemoteNotification的{​​{1}}中发布通知,并在您的自定义AppDelegate中添加观察者,以监听和更新UI,如下所示:

TabBarController