0

我对 Xcode 还很陌生,但遇到了一些问题。我有一个选项卡式视图控制器,一个子选项卡有一个 UITableView。单击单元格时,我需要打开 TableData(一个 ViewController)。出于某种原因,我只是得到一个黑屏。然后我将代码更改为:

TableData *newView = [self.storyboard instantiateViewControllerWithIdentifier:@"TableData"];
[self presentViewController:newView animated:YES completion:nil];

但我在 Xcode 中收到错误 SIGABRT。我该如何解决?

这有效,但给了我一个黑屏:

TableData *view = [TableData alloc];
view.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal;
[self presentModalViewController: view animated:YES];
4

1 回答 1

2

只需在情节提要中为 segue 创建一个标识符,然后使用:

[self performSegueWithIdentifier:@"yourTableViewStoryboardSegueIdentifier" sender:self];

更新:

问题很可能是由于用户从他的 tableView 中抓取了无效行。为了只获取行号,您需要做的就是:

int rowNumberSelected = indexPath.row;

至于他的第二个代码片段,它只显示黑屏的原因是因为他实际上并没有将其链接到情节提要中的 viewController。他只是在分配代码。如果他通过代码添加子视图,那么它们会显示出来,但情节提要中什么也没有。

由于用户正在使用 Storyboard,因此最好只使用 segues 和dismissals。

于 2013-01-14T23:20:44.867 回答