首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UINavigationController错误

UINavigationController错误
EN

Stack Overflow用户
提问于 2013-12-01 18:45:28
回答 1查看 938关注 0票数 2

我有一个应用程序,结构如下所示。

  1. 首先,用户使用他的凭据登录。
  2. 然后选择几个选择标准(例如:票务细节)
  3. 出现一个表视图,并显示票证的简要详细信息。
  4. 基于所选内容的推送表视图将显示详细视图。

在这里,我为表视图添加了一个导航控制器,并尝试将其保留为根视图控制器。另外,我尝试将我的第一个视图控制器作为根视图文件夹。

错误信息是:

*终止应用程序由于非正常异常'NSGenericException',原因:‘找不到一个导航控制器为segue 'TicketDetailSegue’。只有当源控制器由UINavigationController的实例管理时,才能使用Push segues。‘*第一次抛出调用堆栈:

下面是我在Segue上的代码:

代码语言:javascript
复制
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

if ([segue.identifier isEqualToString:@"TicketDetailSegue"]) {
    UITableViewCell *cell=(UITableViewCell *)sender;
    NSIndexPath *ip= [self.tableView indexPathForCell:cell];
    Ticket *T=[self.TicketsFinal objectAtIndex:ip.row];

    ViewFour *pdvc=(ViewFour *)segue.destinationViewController;
    pdvc.ticket=T;

}}

注意:我的NavigationController不能是初始控制器。有人能提出解决办法吗?任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-01 23:45:42

问题是,您呈现的控制器(使用您发布的prepareForSegue方法的控制器)是导航控制器的根视图控制器,而不是显示导航控制器本身,因此导航控制器不会进入控制器层次结构。ViewTwo中的提交方法应该如下所示:

代码语言:javascript
复制
-(IBAction)Submit
{
    UINavigationController *nav =[self.storyboard instantiateViewControllerWithIdentifier:@"TicketsListNav"];
    TicketListViewController *third = (TicketListViewController *)nav.topViewController;
    // other stuff here
    [self presentViewController:nav animated:YES completion:nil];
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20315803

复制
相关文章

相似问题

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