2010-08-13 53 views
0

我有一个UITableViewController作为我的标签栏控制器的第二个选项卡上的视图控制器之一。UITableViewController detailView从未推

didSelectRowAtIndexPath我创建了一个详细的视图控制器,但它从来没有被推到导航堆栈上...并且应用程序也不会崩溃,因为我可以在调用pushViewController之后调用NSLog。

这是方法:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
    KeyboardViewController *v = [[KeyboardViewController alloc] initWithNibName:@"KeyboardView" bundle:nil]; 
    [self.navigationController pushViewController:v animated:YES]; 
    NSLog(@"gets here OK"); 
} 

什么会导致此?当然,如果navigationController不存在,那么它会崩溃?由于这是一个UITableViewController,它应该自动创建,如果它不是?

感谢

+0

奇怪...你确定一切都存在的方式应该??尝试使用该方法的断点进行调试...因此,您会看到分配的内容以及哪些不是... – dododedodonl 2010-08-13 12:15:33

回答

3

当然,如果navigationController不存在,那么它会崩溃?

不,[nil方法]不会崩溃。

既然这是一个UITableViewController,它应该自动创建它应该不是?

默认情况下,UITableViewController没有UINavigationController。您必须将UITableViewController放在UINavigationController中。