在Swift中从AppDelegate获取ViewController的实例

我想在应用程序委托中加载一个特定的ViewController,当用户点击一个UILocalNotification时。 我已经知道这是在这个函数中调用的:

func application(application: UIApplication!, didReceiveLocalNotification notification: UILocalNotification!) 

但是,当我尝试访问其中一个开放的ViewControllers,我认为它返回null,因为我的应用程序崩溃。 这是我正在尝试的:

 var rootViewController = self.window!.rootViewController var storyBoard = rootViewController.storyboard var setViewController = storyBoard.instantiateViewControllerWithIdentifier("CurrentShows") as ViewController_CurrentShows rootViewController.navigationController.popToViewController(setViewController, animated: false) setViewController.reloadData() 

它在popToViewController行崩溃。

你可以尝试:

 let rootViewController = self.window!.rootViewController let mainStoryboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) let setViewController = mainStoryboard.instantiateViewControllerWithIdentifier("CurrentShows") as! DetailViewController rootViewController?.navigationController?.popToViewController(setViewController, animated: false)