我的应用程序中有这个视图层次结构。
标签栏=>第1项是嵌入在导航控制器中的集合视图。 第2项是拆分视图控制器
拆分视图控制器=>嵌入在导航控制器中的主(表视图控制器)。 详细信息(表视图控制器[目标])嵌入在导航控制器中并具有子表视图控制器
基于接收推送通知,我想在视图层次结构中显示[目标]表视图控制器(如图中所示),并保持相同的视图结构/ hierarchy,以便用户可以在整个应用程序中导航。所以诀窍
window?.rootViewController = targetViewController
并不好。
我添加了以下代码,但它崩溃了应用程序并显示错误'尝试弹出到不存在的视图控制器'。
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let targetController = storyboard.instantiateViewControllerWithIdentifier("targetController") as! TargetTableViewController
let tabBarController = window!.rootViewController as! UITabBarController
let splitController = tabBarController.viewControllers!.last as! UISplitViewController
let navController2 = splitController.viewControllers.last as! UINavigationController
navController2.popToViewController(targetController, animated: true)