ios swift appdelegate

ios - Obtenga la instancia de ViewController desde AppDelegate en Swift



(1)

Estoy intentando cargar un ViewController específico desde el delegado de la aplicación en swift cuando un usuario hace clic en una UILocalNotification. Me he dado cuenta de que esto se llama en esta función:

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

Pero cuando intento acceder a uno de los ViewControllers abiertos, creo que está volviendo nulo porque mi aplicación se está bloqueando. Esto es lo que estoy intentando:

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

Se está estrellando en la línea popToViewController.


Tu podrías intentar:

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)

Swift 3:

let mainStoryboard = UIStoryboard(name: "Main", bundle: nil) let controller = mainStoryboard.instantiateViewController(withIdentifier: "viewController") self.present(viewController, animated: true, completion: nil)