在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)