title: How to use multiple iOS custom view controllers without a navigation controller
body: <p>I am building an app that uses multiple types of screens--all which warrant their own custom view controllers.  I am successfully switching between view controllers and their related views by reassigning the main <code>window</code>'s <code>rootViewController</code> with a method in my app delegate like the following:</p>
  
  <pre><code>- (void)changeRootViewController:(NSString *)controllerName
  {
      if (controllerName == @"book") {
          rootViewController = (UIViewController *)[[BookViewController alloc] init];
          [self.window setRootViewController:rootViewController];
      } else if (controllerName == @"something_else") {
          // Use a different VC as roowViewController
      }
  }
  </code></pre>
  
  <p>The way that I am doing this seems like it just can't be best practice, however.  I don't want to use a <code>UINavigationController</code> or a <code>UITabBarController</code> as the <code>rootViewController</code>, either.  Is this the wrong way to be doing this, and if so, how should I be approaching this differently?</p>
  
  <p>I thought this would have been covered somewhere, but (I feel as if) I've Googled the heck out of it, looked for related questions, etc.  Sorry if I've missed something!</p>