2015-11-08 48 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指向其他解決方案更具有異國情調的情況下,如多個故事板的項目。也可以嘗試按照該線程中的建議進行乾淨的構建。

相關問題