单击单元格后无法识别tableView segue

时间:2015-11-08 06:42:44

标签: objective-c iphone uitableview

我有一个tableViewController,当单击一个单元格时,我想记录单元格的名称并以编程方式将其传递给新的QuestionViewController。我得到的问题是,当单击单元格时,我收到错误:

***由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:'Receiver()没有带标识符'segueToViewController'的segue''

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
    self.name = [self.listOfNames objectAtIndex:indexPath.row];
    NSLog(@"selected cell: %i, %@", (int)indexPath.row, self.listOfNames);
    [self performSegueWithIdentifier:@"segueToViewController" sender:self];
}


-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{

    NSLog(@"prepare for segue: %@", segue.identifier);
    if ([[segue identifier] isEqualToString:@"segueToViewController"]){

        QuestionViewController *QVC = segue.destinationViewController;
        QVC.currentResidentName = [[NSString alloc] initWithString:self.name];

}

}

知道如何让segue工作吗?我不确定为什么prepareForSegue无法识别segue。

NSLog打印:

 selected cell: 0, 123456789

这很好,但它没有达到“准备segue”NSLog。当我调试问题时,它在prepareForSegue

处崩溃

1 个答案:

答案 0 :(得分:0)

您能否确认故事板中是否存在segue?即使以编程方式触发,segue也必须存在于您的故事板as described here中。

如果segue确实存在,请检查其名称中的拼写错误。名称必须在故事板和代码中以相同的方式拼写。 (这一直是我的常见错误来源,似乎没有机制可以确保故事板标识符与源代码匹配。)

如果segue存在且拼写正确,那么this Stack Overflow thread指向其他解决方案以寻找更具异国情调的案例,例如具有多个故事板的项目。还尝试按照该线程中的建议进行干净构建。