didSelectRowAtIndexPath gibt den falschen IndexPath zurück

Dem ich begegnet bin, einen wirklich rätselhaften Fehler. Die ersten Zeile meiner UITableView liefert 1 und die zweite gibt 0 in der indexPath! Wie ist das möglich?

In mein `-(void)viewDidLoad " alles ist noch in Ordnung. Ich bin Hervorhebung der ersten Zeile erfolgreich mit

currentRow = 0;
[tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:currentRow inSection:0] 
  animated:NO scrollPosition:UITableViewScrollPositionNone];

Habe ich die variable currentRow für die Verfolgung, welche Zeile ausgewählt ist (eine andere Steuerung änderungen, nach denen man aktuell ausgewählt ist).

Nun in meiner " didDeselectRowAtIndexPath Stellvertretung-Funktion habe ich noch:

-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath {
...
NSLog(@"IndexPath: %@", [indexPath description]);
}

Dem log zeigt Folgendes:

IndexPath: <NSIndexPath 0x79509d0> 2 indexes [0, 0] wenn ich Tippen Sie auf die zweite - Reihe, und
IndexPath: <NSIndexPath 0x79509d0> 2 indexes [0, 1] wenn ich Tippen Sie auf die erste - Reihe.

Gibt es keine Zeile einfügen oder löschen oder Sortieren, etc., nicht einmal scrollen. Es ist ein einfaches UITableView, gruppiert Stil, mit Abschnitt 1 und 3 Zeilen. Was könnte die Ursache sein?

Danke für Eure Hilfe,
S

InformationsquelleAutor der Frage Mundi | 2010-11-07

Schreibe einen Kommentar