我有一个UITableViewController作为我的标签栏控制器第二个标签上的一个视图控制器。
在didSelectRowAtIndexPath
我创建了一个详细视图控制器,但它永远不会被推到导航堆栈上......并且应用程序也不会崩溃,因为我可以在调用pushViewController
之后使用NSLog。 / p>
这是方法:
- (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 :(得分:3)
当然如果navigationController不存在那么它会崩溃吗?
不,[nil方法]不会崩溃。
由于这是一个UITableViewController,如果不是,应该自动创建它?
UITableViewController默认没有UINavigationController。您必须将UITableViewController放在UINavigationController中。