我的TabBarController中有一个“通知”选项卡,我希望显示与应用程序徽章计数相同的徽章计数。我可以在所有情况下使用它,除了应用程序在前台时。
为此,我为TabBarController创建了一个自定义类,该类注册了UIApplicationWillEnterForeground通知,并将“通知”选项卡的标志设置为等于“应用”标志。我也在OnLoad()函数中做到了这一点。
现在,当应用程序已经在前台时,如何更新“通知”标签徽章?我在AppDelegate函数中捕获了通知:
application(_:didReceiveRemoteNotification:fetchCompletionHandler:)
我知道 可能会在rootViewController周围进行挖掘以找到选项卡栏控制器,但是我的根控制器是我进入应用程序的入口点,该应用程序检查用户是否在登录令牌中钥匙串,并选择登录视图控制器或选项卡栏控制器。因此,考虑到它的存在,我不确定这是一个选择吗?
我的UI是否可以注册“推送通知”通知,就像我注册UIApplicationWillEnterForeground的方式一样?这将是理想的选择,但我还没有找到这样的通知。
任何建议或技巧将不胜感激!
答案 0 :(得分:2)
在didReceiveRemoteNotification
的{{1}}中发布通知,并在您的自定义AppDelegate
中添加观察者,以监听和更新UI,如下所示:
TabBarController