Uitableview 无法显示表的详细信息

Uitableview 无法显示表的详细信息,uitableview,uiviewcontroller,pushviewcontroller,nsindexpath,Uitableview,Uiviewcontroller,Pushviewcontroller,Nsindexpath,我发誓我看了半打教程,我不知道我做得不对。我通过IB在UIView中嵌套了一个tableview,表的格式和填充都正确。我就是无法让它显示详细信息屏幕。表格识别抽头,行被选中,但。。。该行保持选中状态。然后,绝对什么也没发生。我可以选择具有相同结果的其他行,但在此之前不会发生任何事情。我可以移入和移出视图,并在整个应用程序中拥有完整的功能。我甚至可以滚动tableview,但我永远无法进入cell detail屏幕。我已经在IB中将所有必要的部分连接在一起 这是我的详细视图代码: - (void

我发誓我看了半打教程,我不知道我做得不对。我通过IB在UIView中嵌套了一个tableview,表的格式和填充都正确。我就是无法让它显示详细信息屏幕。表格识别抽头,行被选中,但。。。该行保持选中状态。然后,绝对什么也没发生。我可以选择具有相同结果的其他行,但在此之前不会发生任何事情。我可以移入和移出视图,并在整个应用程序中拥有完整的功能。我甚至可以滚动tableview,但我永远无法进入cell detail屏幕。我已经在IB中将所有必要的部分连接在一起

这是我的详细视图代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    //Get the selected cell detail
    NSString *theString = [secondview objectAtIndex:indexPath.row];

    celldetails *dvController = [[celldetails alloc] initWithNibName:@"celldetails" bundle:nil];
    dvController.cellString = theString;

    [self.navigationController pushViewController:dvController animated:YES];
}
我尝试了bundle:nil和bundle:[NSBundle mainBundle],但两者都没有产生预期的结果。有人有什么建议吗?

如果pushViewController:animated:不起任何作用,则navigationController可能为零,但如果没有,则它肯定会起作用,因为发送到pushViewController:animated:的UIViewController实例将显示某种视觉变化,除非视图相同且您不使用动画。尝试添加一个NSLog@blah; 行到您的didSelectRowAtIndexPath:implementation,只是为了确保它被调用。或者在该方法中插入断点


一捆零就可以了。如果找不到.xib,那么您将得到相应的调试消息,因此它将找到一个.xib。.xib甚至设置了有效的视图出口,因为如果加载.xib,应用程序会崩溃,但没有设置视图出口。

选择行时控制台日志中是否显示任何内容?作为旁注,在Objective-C中,类名应按惯例大写。因此,详细视图控制器类celldetails应命名为celldetails。实际上,CellDetailsViewController会更清晰,并且会更严格地遵循苹果的命名约定。在调试视图的控制台窗口中,当我点击单元格行时,没有Xcode或模拟器的输出。唯一出现的是一条关于应用程序关闭的确认消息。好吧,我有一个主题应用程序,有一个固定的背景视图、工具栏和顶部导航区域(无栏);但是,我不相信它会将视图更改为新的XIB,因为当我点击表格中的一行时,仍然可以看到表格和突出显示的单元格选择。没有动画或视觉提示来验证是否发生了任何视图更改。这是否与使用UIViewController以及通过IB而不是使用UITableViewController构建UITableView有关?是的,可能是这样。您的tableView可能未正确保留。如果为其使用@property赋值,则可以释放它,但已绘制的控件在释放或取消分配后可以保留。我记得我甚至可以点击释放的按钮。我不确定这是否真的会使委托方法不被调用,或者是什么,但我至少要检查一下这类事情。除此之外,只需在IB中再次查看tableView,以确保委托和数据源都已设置。我刚刚加入了一个@property非原子的retain IBOutlet UITableView*表;并合成了它,但在行为上没有明显的变化。如果我有头发,我会在这个时候把它全部拔出来。是的,委托和数据源都设置为表视图。在我收到的操作中是否应该有什么东西表明系统识别到某个单元格上有点击?此外,我刚刚想到:我没有在UITableView中使用UINavBar。UITableView委托是否会拒绝我在点击表格单元格时重定向到新视图的尝试,因为我没有使用导航栏?