title: UINavigationController pop/push UITableViewController only works with animated:NO
body: <p>My app uses an UINavigationController to show different UITableViewControllers. But with a very strange behavior: pushing an UITableViewController to the navigation controller only works if the animation in <code>pushViewController:animated:</code> is set to <strong>NO</strong>.</p>
  
  <pre><code>[navController pushViewController:tableController animated:NO]
  </code></pre>
  
  <p>Setting animated to <strong>YES</strong> just freezes the app before showing the tableController view. There is no exception or error at this point. Finally the app crashes after some minutes throwing <code>EXC_??? (11) (code=0, subcode=0x0)</code>. But what does this mean?</p>
  
  <p><em>Some more information:</em></p>
  
  <p>All controllers and views are loaded programmatically. First:</p>
  
  <pre><code>UITableViewController *tableController1 = [[UITableViewController alloc] init];
  navController = [[UINavigationController alloc] initWithRootViewController:tableController1]
  [self.view addSubview:navController.view];
  </code></pre>
  
  <p>After clicking a button tableController2 is set using:</p>
  
  <pre><code>UITableViewController *tableController2 = [[UITableViewController alloc] init];
  [navController pushViewController:tableController2 animated:NO];
  // -&gt; NO works, YES freezes
  </code></pre>
  
  <p>To analyse tableController2, I also created an own tableViewController. The result is: after clicking the button to load the second table view controller, all methods up to <code>viewWillAppear</code> are called. <code>viewDidAppear</code> is not called and the view is not shown.</p>
  
  <p>Does anybody have an idea how to find the a solution to solve this problem? Or any ideas, what might be missing in my code? Commenting out a bunch of code and debugging for many hours didn't help yet...</p>
  
  <p><strong>EDIT:</strong></p>
  
  <p>As mentioned in the comments, it's better to replace <code>[self.view addSubview:navController.view];</code>. So I changed my code and moved the navigation controller init to <em>appDelegate</em>. But without success, still the same behavior.</p>
  
  <pre><code>UITableViewController *tableController1 = [[UITableViewController alloc] init];
  UINavigationController *navController = [[UINavigationController alloc] initWithRootViewController:tableController1];
  NSArray* controllers = [NSArray arrayWithObjects:navController, ..., nil];
  tabBarController.viewControllers = controllers;
  </code></pre>
  
  <p><code>tabBarController</code> is just the rootViewController of the app. This should not influence the navigation controller and its controllers.</p>