【问题标题】:Segue from UITableViewCell to another ViewController从 UITableViewCell 转移到另一个 ViewController
【发布时间】:2013-09-07 01:30:31
【问题描述】:

我创建了一个带有情节提要的Single view application,我拖放了一个TableView。我可以为 tableview 充气并获取一些数据,但是在单击任何UITableViewCell 时,我需要转到下一个ViewController。我将另一个ViewController 拖放到情节提要中,并将MainViewController 连接到新创建的ViewController。我需要从didSelectRowAtIndexPath 方法转到新的视图控制器

我试过用这个

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
TestViewController *test = [self.storyboard instantiateViewControllerWithIdentifier:@"Testing"];
[test performSegueWithIdentifier:@"Test" sender:self];
}

我收到了这个错误

2013-09-03 23:33:21.234 Storyboard[946:c07] * 终止应用程序由于 未捕获的异常'NSInvalidArgumentException',原因:'故事板 () 不包含视图控制器 标识符“测试” * 第一次抛出调用栈:(0x1c92012 0x10cfe7e 0x45b679 0x2f14 0xc3285 0xc34ed 0xacd5b3 0x1c51376 0x1c50e06 0x1c38a82 0x1c37f44 0x1c37e1b 0x1bec7e3 0x1bec668 0x13ffc 0x28ed 0x2815) libc++abi.dylib: 终止称为抛出异常

我也试过了

[test performSegueWithIdentifier:@"Test" sender:self];

但我找不到合适的代码。任何帮助表示赞赏。

【问题讨论】:

  • 你能告诉我们发生了什么吗?它崩溃了吗?你遇到了什么错误?
  • @EvanStoddard 我已经更新了问题
  • 您可能会发现这个答案也很有用:stackoverflow.com/questions/8809833/…

标签: iphone ios objective-c


【解决方案1】:

您的表格视图正在执行转场,而不是您想要转场的控件。您可能希望它说:

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

还要确保您的 Segue 具有正确的 ID:

【讨论】:

  • @user2735210 我不相信可以通过程序设置它的 ID
【解决方案2】:

您没有要推送到的视图的 ID。您需要进入情节提要选择您的视图并将情节提要 ID 设置为 Testing

【讨论】:

  • @user2735210 我不相信可以通过编程方式设置它的 ID
  • 当我点击 segue 时,也在属性检查器中我得到标识符?那么那个标识符和 Storyboard ID 是什么?
  • Segue IdentifierStoryboard ID 类似,只是它仅适用于 Segue。它定义了切换视图的特定 segue 或方法。 Storyboard ID 是故事板的唯一标识符。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多