【发布时间】:2018-11-07 15:22:04
【问题描述】:
当某个userMessagesViewController 当前打开时,我试图阻止在应用主屏幕上显示推送通知。
如果这个特定的viewController 是打开的,我不希望用户收到推送通知。我发送推送通知的函数在appDelegate 中。我该如何检查。到目前为止,这是我的实现。
let messagesVC = UserMessageViewController()
if messagesVC.view.window != nil {
print("Messages viewcontroller is visible and open")
} else {
print("Messages viewcontroller isnt visible and not open")
}
【问题讨论】:
-
this 相关吗?
-
如果您不想扩展 UIApplication,只需考虑一个选项,即创建一个单例属性,消息控制器在进入和离开视图时切换该属性。消息控制器还可以在应用程序委托可以侦听的视图进入和退出时发布通知。应用程序委托可以检查此属性以确定它是否应该发布。只是需要考虑的选项。
标签: ios swift viewcontroller appdelegate