【发布时间】:2014-02-17 18:45:30
【问题描述】:
由于某种原因,我的导航控制器没有正确推送。
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSLog(@"HERE!");
MyViewController *vc = [self.storyboard instantiateViewControllerWithIdentifier:@"myVC"];
vc.labelText = [self.myArray objectAtIndex:indexPath.row];
[self.navigationController pushViewController:vc animated:YES];
NSLog(@"Pushed");
}
输出是:
2014-02-17 12:41:47.187 TableViewTesting[37532:70b] HERE!
2014-02-17 12:41:47.189 TableViewTesting[37532:70b] Pushed
所以一切都运行良好,但即使在点击单元格后我仍然只能看到我的初始视图控制器。
【问题讨论】:
-
使用调试器确保
vc不是nil。还要检查self.navigationController不是nil。 -
@Gavin,如果 vc 为 nil,那么他会从 instantiateViewControllerWithIdentifier 中得到一个异常。我在这里看到的唯一一件事是 self.navigationController 为 nil,这就是为什么什么也没发生。
-
检查你的导航控制器。您的控制器是否嵌入在导航控制器中。
标签: ios iphone objective-c tableview viewcontroller