title: Swift - Access different View Controllers in App Delegate
body: <p>In <code>app delegate</code>, with a simple app having only 2 screens:</p>
  
  <ul>
  <li>first screen is a Table View Controller embedded in Navigation Controller</li>
  <li>second screen is a View Controller which is used to add items to the first screen table via protocol/delegate/segue</li>
  </ul>
  
  <p>And this is the code for <code>didFinishLaunchingWithOptions</code> in <code>app delegate</code> that I can reference the first screen as <code>viewController[0]</code>:</p>
  
  <pre><code>func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -&gt; Bool {
  
          let navController = self.window?.rootViewController as! UINavigationController
          let courseListController = navController.viewControllers[0] as! CourseListController
          courseListController.managedObjectContext = self.managedObjectContext
  
          return true
      }
  </code></pre>
  
  <p>How can I reference the screens at above, below and next to the center sreen? Please suggest me a solution. Thank you!</p>