Die Tabellenansicht didSelectRowAtIndexPath funktioniert erst nach Auswahl des zweiten Klicks

Ich habe eine Tabellenansicht, die ich so konfiguriert habe, dass beim Tippen auf die Zeile eine neue Ansicht basierend auf dem Namen der jeweiligen Zelle angezeigt wird. Wenn ich jedoch zum ersten Mal auf eine Zelle klicke, geschieht nichts, und wenn ich auf die nächste Zelle klicke, verhält es sich so, als hätte ich auf die erste Zelle geklickt.

Zum Beispiel habe ich Helm, Stock und Handschuhe. Wenn ich Helm drücke, passiert nichts. Wenn ich dann auf Stick drücke, wird der didSelectRowAtIndexPath für den Helm und nicht für den Stick ausgeführt. Irgendwelche Vorschläge, warum dies geschieht?

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

}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage