J'essaie de charger un ViewController spécifique à partir du délégué de l'application dans Swift lorsqu'un utilisateur clique sur une UILocalNotification. J'ai compris que cela s'appelle dans cette fonction:
func application(application: UIApplication!, didReceiveLocalNotification notification: UILocalNotification!)
Mais lorsque j'essaie d'accéder à l'un des ViewControllers ouverts, je pense qu'il renvoie null car mon application se bloque. Voici ce que j'essaye:
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()
Il plante sur la ligne popToViewController.
Tu pourrais essayer:
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)