Ios XCode 5使用prepareforsegue调用类

Ios XCode 5使用prepareforsegue调用类,ios,Ios,我有一个在容器视图中的tableview。当用户选择任何一行时,将在父控制器中调用一个方法,该方法告诉父控制器执行segue。然而,我无法理解为什么它不起作用。该代码从tableView中的didSelectRow函数调用。该方法确实执行,但它给了我一个错误,即没有带有该标识符的segue 但是,当我从父视图控制器中调用该方法(listJobsOfSite)时,它会工作 (表视图) 父视图控制器 -(void)listJobsOfSite:(NSString *)site { [self

我有一个在容器视图中的tableview。当用户选择任何一行时,将在父控制器中调用一个方法,该方法告诉父控制器执行segue。然而,我无法理解为什么它不起作用。该代码从tableView中的didSelectRow函数调用。该方法确实执行,但它给了我一个错误,即没有带有该标识符的segue

但是,当我从父视图控制器中调用该方法(listJobsOfSite)时,它会工作

(表视图)

父视图控制器

-(void)listJobsOfSite:(NSString *)site
{
    [self performSegueWithIdentifier:@"JobSegue2" sender:nil];
}
编辑:
该段位于视图控制器1和视图控制器2之间。视图控制器1持有一个容器视图,该容器视图再次持有一个表视图控制器。此tableview控制器应告诉视图控制器1切换到视图控制器2

编辑2: 截图

  • 你不需要上课。您要查找的单词是“方法”。您可以调用父视图控制器类中的listJobsOfSite方法

  • 你确定你给了这个序列一个标识符了吗?在故事板中,您应该单击segue,检查它,并在标记为“Identifier”的字段中输入“JobSegue2”

  • 如果已完成步骤2,是否需要容器视图?您试图用容器视图+表格视图来完成什么?如果没有容器视图和表视图作为视图控制器1的属性,您的设计听起来会更有意义

  • 如果您想使用容器视图,请在故事板中尝试从TableView单元格控制+拖动到视图控制器2。将该segue命名为“JobSegue2”。这样就不需要调用didSelectRow方法中的任何方法。您也不需要从视图控制器1到2的序列图像板序列。它似乎有你想要的行为(问题,而不是答案!他有与你相反的问题)


    编辑:刚刚注意到您的容器视图中有一个导航控制器,所以我上面的建议可能会将视图控制器2推到容器视图中。我完全被你想做的事弄糊涂了

    在什么和什么之间是
    序列
    ?我猜它是在父视图控制器和下一个视图控制器之间,而您尝试通过子控制器和下一个视图控制器来实现它。我将告诉父级它需要执行segue。segue位于视图控制器1和视图控制器2之间。视图控制器一拥有一个容器视图,容器视图又拥有一个表视图控制器。此tableview控制器应告诉视图控制器1转换为视图控制器2.1。是的,谢谢你澄清。我会编辑我的帖子。2-是的,标识符在那里。从父视图控制器中调用该方法可以工作,但不能从子表视图控制器中调用它。是否有任何理由在父视图控制器中使用segue代码?我真的不明白你设计这个的方式,也不明白你为什么需要从家长那里调用segue。看起来你想从TableView切换到另一个视图,所以segue方法应该在你的TableViewController中。我一开始确实尝试过。以下程序因相同错误而崩溃。我知道赛格在那里(void)viewDidLoad{self.jobVC=[[JobViewController alloc]init];}-(void)tableView:(UITableView*)tableView didSelectRowAtIndexPath:(NSIndexPath*)indexPath[self.jobVC PerformsgueWithIdentifier:@“JobSegue2”发送方:Nil];}
    -(void)listJobsOfSite:(NSString *)site
    {
        [self performSegueWithIdentifier:@"JobSegue2" sender:nil];
    }