Get Instance Of ViewController From AppDelegate In Swift

34,456

You could try:

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)
Share:
34,456

Related videos on Youtube

PretzelJesus
Author by

PretzelJesus

Updated on July 09, 2022

Comments

  • PretzelJesus
    PretzelJesus almost 2 years

    I am trying to load a specific ViewController from the app delegate in swift when a user clicks a UILocalNotification. I have figured out that this is called in this function:

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

    But when I try and access one of the open ViewControllers I think it's returning null because my application is crashing. Here is what I am trying:

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

    It's crashing on the popToViewController line.

  • suisied
    suisied over 8 years
    I tried using this inside a function and it didn't work, I'm using xcode7 and swift2. do you mind updating the code above please.
  • fulvio
    fulvio over 8 years
    @suisied Might be worth creating a question on StackOverflow and linking to it as we can't really diagnose your issue without seeing your code.
  • Async-
    Async- over 8 years
    not working in swift 2.. impossible to get "Main" storyboard.