控制器没有标识符的segue

Posted

技术标签:

【中文标题】控制器没有标识符的segue【英文标题】:Controller has no segue with identifier 【发布时间】:2012-12-22 09:32:46 【问题描述】:

我使用 ctrl 将 UITableViewController 连接到 NavigationController,将 segue 定义为“modal”并定义 segue 标识符“DetailEvent”。

在我的 UITableViewController 类中,我添加了以下代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    
    NSLog(@"Row Selected = %i",indexPath.row);
    [self performSegueWithIdentifier:@"DetailEvent" sender:self.view];

错误:

Row Selected = 1
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Receiver (<AvailableEventsController: 0xa335500>) has no segue with identifier 'DetailEvent''
*** First throw call stack:
(0x175b012 0x1580e7e 0x5aa492 0xa6b53fa 0x103a0 0x5778d5 0x577b3d 0xf7ee83 0x171a376 0x1719e06 0x1701a82 0x1700f44 0x1700e1b 0x23ee7e3 0x23ee668 0x4c865c 0xbf7d 0x2755)
libc++abi.dylib: terminate called throwing an exception

我在这里做错了什么?

【问题讨论】:

你在故事板中提到了标识符吗? 标识符在情节提要中设置为“DetailEvent”。 [self performSegueWithIdentifier:@"DetailEvent" sender:nil]; 不会改变它没有找到 Segue 的事实。 确保源控制器的类设置为AvailableEventsController。确保 segue 的开始是控制器本身,而不是表格视图或单元格。如果您没有看到任何明显的内容,您可以选择故事板并作为源代码打开。搜索&lt;segue ,您可能能够从具有该标识符的那个的 XML 描述中获得更好的信息。 【参考方案1】:

我在 StoryBoard 中处理不同的 UIViewController。

【讨论】:

以上是关于控制器没有标识符的segue的主要内容,如果未能解决你的问题,请参考以下文章

VC 之间的 Swift Segue 没有任何联系

Segue 没有被执行 ios

Segue 没有得到选定的行号

segue 出错:'NSInvalidArgumentException',原因:'接收者没有带有标识符的 segue

Swift SearchResultsController Segue - “接收者......没有标识符'testSeg''的segue”

如何将 segue 标识符添加到以编程方式进行的模态转换?