我对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];
答案 0 :(得分:2)
只需在故事板中为segue创建一个标识符,然后使用:
[self performSegueWithIdentifier:@"yourTableViewStoryboardSegueIdentifier" sender:self];
更新:
问题很可能是由于用户从tableView中获取了无效行。为了获取行号,您需要做的就是:
int rowNumberSelected = indexPath.row;
至于他的第二个代码片段,它只显示黑屏的原因是因为他实际上并没有将它连接到故事板中的viewController。他只是简单地分配代码。如果他通过代码添加了子视图,那么它们会出现但不会出现在故事板中。
由于用户正在使用Storyboard,因此最好只使用segues和dismissals。