在我的应用程序中,我有三个 View Controller ,我们称它们为 MainVC、ObjectsVC 和 EventsVC(如果您不喜欢这样的快捷方式,抱歉)。 MainVC 是整个应用程序的初始 VC,其余是包含一些对象列表的 TableVC。
此应用程序支持带有“id”字段的推送通知:
- id = 0 -> 应用正常启动
- id = 1 -> 应用以 ObjectsVC 开头
- id = 2 -> 应用以 EventsVC 开头
当用户点击传入的 PN 时,如何实现上面列出的转换?
最佳答案
一种直接的方法是返回到初始的 viewController
,然后推送所需的 View Controller 。例如:
if id == 2 {
let eventsVc = EventsVC()
navigationController?.popToRootViewController(animated: false)
navigationController?.pushViewController(eventsVc, animated: false)
}
如果所需的 viewController
已经在导航堆栈中,您应该检查它是否确实存在并向其弹出
。
这实际上取决于所需的导航行为。
关于ios - 用户通过触摸收到的推送通知打开应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43916561/