2015-11-08 53 views
0

我有一个tableViewController,当单击单元格时,我想要记录单元格的名称并以编程方式将它传递给一个新的QuestionViewController。我得到的问题是当单击单元格时,出现错误:tableView继续点击单元格后不被识别

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

-(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无法识别赛格。

的NSLog打印:

selected cell: 0, 123456789 

这是很好的,但它不会去了 “SEGUE准备” NSLog的。当我调试问题时,它正好在prepareForSegue

回答

0

正确崩溃你能确认segue存在于你的故事板吗?即使以编程方式触发,segue必须存在于您的故事板as described here中。

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

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

相关问题