2014-04-09 44 views
6

我有一個表視圖,我已經配置這樣當用戶點擊該行時,它將根據特定單元格的名稱移動到新視圖。然而,當我第一次點擊一個單元格時,它什麼都不做,當我點擊下一個單元格時,它就會像點擊第一個單元格一樣。表視圖didSelectRowAtIndexPath,僅在選擇第二次點擊後才起作用

例如,我有頭盔,手杖和手套。如果我按頭盔,沒有任何反應。然後,如果我按下Stick鍵,它將爲頭盔執行didSelectRowAtIndexPath,而不是執行Stick。任何有關爲什麼會發生這種情況的建議?

//Tapping to change on row 
- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath]; 
    NSLog(@"%@", cell.textLabel.text); 
    if([cell.textLabel.text isEqualToString:@"Helmet"]) 
    { 
     [self performSegueWithIdentifier:@"toHelmetView" sender:indexPath]; 
    } 
} 


//Segue control, fetch helmet and send it 
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
    if ([segue.identifier isEqualToString:@"toHelmetView"]) 
    { 
     // Fetch the selected object 
     //EquipmentCategory *o = [_frc objectAtIndexPath:[self.tableView indexPathForSelectedRow]]; 

     // Configure the next view + controller 
     HelmetView *nextVC = (HelmetView *)segue.destinationViewController; 

     nextVC.title = @"Helmet"; 
     nextVC.model = self.model; 
     nextVC.h = [self.model helmetForPlayer:self.p]; 
    } 

} 

回答

32

那是因爲你實現didDeselectRowAtIndexPath代替 didSelectRowAtIndexPath

+1

我很尷尬地說我碰到過多少次這個問題 – Stonz2

+0

我同樣的問題,但我有正確的func didSelectRowAt ..還有什麼可能嗎? –

+0

:O我有同樣的問題 –

相關問題