title: Remove controllers from UINavigationController stack
body: <p>I can't figure out why FirsViewController is not destroyed/releasedd in this scenario.</p>
  
  <p>My AppDelegate.m - FirstViewController is pushed on the stack</p>
  
  <pre><code>self.window = [[UIWindow alloc]initWithFrame:[[UIScreen mainScreen] bounds]];
  self.navigationController = [[UINavigationController alloc]init];
  
  self.FirstViewController = [[FirstViewController alloc]
                                           initWithNibName:@"FirstViewController" 
                                           bundle:[NSBundle mainBundle]];
  [self.navigationController FirstViewController animated:YES];
  </code></pre>
  
  <p>FirstViewController.m</p>
  
  <pre><code> self.SecondViewController = [[SecondViewController alloc]
                                               initWithNibName:@"SecondViewController" 
                                               bundle:[NSBundle mainBundle]];
      self.SecondViewController.totalNumberOfPlayers = self.selectedRow;
      [self.navigationController pushFadeViewController:self.SecondViewController];
      [self.view removeFromSuperview];
  
  -(void)dealloc
  {
    [SecondViewController release];
    NSLog(@"SecondViewController released");
  }
  </code></pre>
  
  <p>When I run the app and switch from first to second view controller there is no NSLog input in console. This makes me think that the first view controller is not destroyed and the memory for it is not released.</p>
  
  <p>Seems like [self.view removeFromSuperview] is not working well in this situation.</p>
  
  <p>My question is how to release/destroy the FirstController ? It will be never used at the rest of the app.</p>