首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >segue :发件人:找不到我的segue

segue :发件人:找不到我的segue
EN

Stack Overflow用户
提问于 2012-10-18 20:07:17
回答 3查看 3.9K关注 0票数 0

我有一个UINavigationController和一个UITableViewController作为rootViewController。我从我的表视图的原型单元格创建了一个segue,并将它与另一个UIViewController连接。我的segue的标识符是“细节”。在表视图委托的tableView:didSelectRowAtIndexPath:方法(正在调用)中,我有以下行:

代码语言:javascript
复制
[self.navigationController performSegueWithIdentifier:@"Details" sender:nil];

当运行我的应用程序并点击我的一个单元格时,会引发一个异常,因为'Receiver (<UINavigationController: 0x71c65b0>) has no segue with identifier 'Details''

这里有什么问题吗?

编辑

当我改变

代码语言:javascript
复制
[self.navigationController performSegueWithIdentifier:@"Details" sender:nil];

转到

代码语言:javascript
复制
[self performSegueWithIdentifier:@"Details" sender:nil];

下一个视图被推入,但我得到了以下错误:

代码语言:javascript
复制
2012-10-19 12:32:05.128 Numbers[44850:c07] nested push animation can result in corrupted navigation bar
2012-10-19 12:32:17.234 Numbers[44850:c07] Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
2012-10-19 12:32:17.236 Numbers[44850:c07] Unbalanced calls to begin/end appearance transitions for <DetailViewController: 0x74a1fb0>.

显然,我不应该让我的当前视图控制器来完成这项工作,但是我的导航视图控制器(这就是它的目的)。回到后退按钮会产生奇怪的动画,就像警告警告我一样。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-10-19 12:46:00

只是猜测,但您是否可能通过代码连接了segue 触发它?如果没有“特殊”原因,通常不需要调用performSegueWithIdentifier:sender。相反,只需将您的表视图单元格与所需的segue连接。

但是,,如果您调用performSegueWithIdentifier就不要连接它!

票数 1
EN

Stack Overflow用户

发布于 2013-07-05 17:29:41

Interface Builder中选择UITableViewCell。将其选择触发的segue连接到destinationViewController。在您的源UIViewController中,实现prepareForSegue:函数,并传递destinationViewController所有相关信息。无需打电话给performSegueWithIdentifier:

票数 1
EN

Stack Overflow用户

发布于 2015-03-04 07:23:02

只需在所选方法中执行此操作即可。

自执行sender:@“详细信息”发送者:零;

我认为您正在执行其他功能,也就是,它给嵌套的推送或在故事板中检查您的push segue带来了错误,即它是否正确地链接到下一个视图。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12962869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档