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)