iOS - "故事板中的UIViewController" Main",但没有获得UITableView

时间:2016-10-13 14:39:09

标签: ios objective-c uitableview uiviewcontroller segue

我有一个UIViewController,里面有UITableView。一切正常。在" didSelectRowAtIndexPath"我想激活一个" show" segue到UIViewController。我在Storyboard中设置它,创建了它的ViewController类等。

当我选择单元格时,我收到错误说:

  

***由于未捕获的异常终止应用程序' NSInternalInconsistencyException',原因:' - [UITableViewController   loadView]实例化带有标识符的视图控制器   "的UIViewController-NDM-TM-7SM"来自故事板" Main",但没有得到   的UITableView'

有趣的是,我发现尽管我将一个ViewController放到了故事板上,但它本身也改为Table View Controller。它的图片:

enter image description here

这不是最初的情况,起初我检查了同一个地方,只有ViewController。可能这是问题所在。

我看了之前提出的同样的问题,但他们是不同的。我的根视图控制器不是表视图控制器,它的视图控制器包括表视图。

无论如何,我该怎么做才能解决这个问题?我也使用prepareForSegue方法,似乎没有任何错误。

谢谢!

2 个答案:

答案 0 :(得分:1)

你肯定可以创建一个从VC到另一个VC的segue,并从didSelectRowAtIndexpath

调用它

我试图从rootViewController(不是单元格)到detailViewController创建一个segue,它运行正常。

首先,确保已在storyboard中连接dataSource和delegate。 enter image description here

然后连接segue, enter image description here

然后在您的didSelectRowAtIndexPath方法中:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    [self performSegueWithIdentifier:@"show" sender:[tableView cellForRowAtIndexPath:indexPath]];
}

这应该有效。

答案 1 :(得分:0)

你必须继承UITableViewController而不是UIViewController

像这样写你的.h文件

@interface ViewController : UITableViewController
//your property & method add here
@end