表视图didSelectRowAtIndexPath,仅在select第二次点击后才起作用

我有一个表格视图,我已经configuration,以便当用户点击该行时,它将移动到一个新的视图基于特定单元格的名称。 然而,当我第一次点击一个单元格时,它什么都不做,当我点击下一个单元格时,就像我点击了第一个单元格一样。

例如,我有头盔,手杖和手套。 如果我按头盔,没有任何反应。 然后,如果我按下Stick,它会为头盔做didSelectRowAtIndexPath,而不是Stick。 任何build议为什么发生这种情况?

//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]; } } 

那是因为你实现了didDeselectRowAtIndexPath而不是didSelectRowAtIndexPath