title: Best practice for switching between UINavigationController stacks in Storyboard
body: <p>In our storyboard we have multiple <code>UINavigationController</code> stacks. For example, the <code>LoginViewController</code> stack is completely separate from the <code>SWRevealViewController</code> stack.</p>
  
  <p>What's the best practice for switching between them? When I press the logout button (the logout button is on the <code>SWRevealController</code> stack) and then try to present the LoginViewController stack, I get an error like this:</p>
  
  <pre><code>Warning: Attempt to present LoginViewController on SWRevealViewController whose view is not in the window hierarchy!
  </code></pre>
  
  <p>Even though I'm specifically setting <code>self.window.rootViewController</code> to the Login View Controller's <code>UINavigationController</code> in App Delegate like this:</p>
  
  <pre><code>UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Spitfire" bundle:nil];
  UINavigationController *nav = [storyboard instantiateViewControllerWithIdentifier:@"LoginNavigationController"];
  LoginViewController *loginVC = [storyboard instantiateViewControllerWithIdentifier:@"LoginViewController"];
  
  self.window.rootViewController = nav;
  [nav presentViewController:loginVC animated:NO completion:nil];    
  </code></pre>
  
  <p>Is there a way I can "dismiss" the current <code>UINavigationController</code> stack and use a new one? Or maybe I shouldn't be calling this code in my app delegate? </p>