2009-03-19 12 views
45

Ich habe eine Frage - wie kann ich eine Reihe von Zeilen in einer Tabelle ausgewählt bekommen? Ich weise es manuell einer Variablen zu. Das Problem ist, dass wenn eine Zeile abgewählt wurde, meine Variable immer noch den alten Wert behält.UITableView - welche Zeile wurde ausgewählt?

Was kann ich dagegen tun? Gibt es eine Methode in UITableView, die eine Nummer einer aktuell ausgewählten Zeile zurückgibt?

Vielen Dank im Voraus, Ilya.

Antwort

109

die Zeile unter Verwendung indexPath.section und indexPath.row leicht feststellen können, wenn Sie nicht einen Delegierten (siehe nduplessis) implementiert haben, UITableView bietet auch:

- (NSIndexPath *)indexPathForSelectedRow 
+0

Danke, Jarret, dass ist was ich brauchte. Jetzt funktioniert alles perfekt. –

+10

Und für jeden, der nach der Multiple-Selection-Version sucht, ist es '- (NSArray *) indexPathsForSelectedRows' –

+1

Das Problem mit dieser Methode ist, dass jedes Mal, wenn es aufgerufen wird, auch wenn der Benutzer nichts ausgewählt hat, 0 zurückgibt. – redDragonzz

36

Die UITableViewDelegate wird

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 

nennen, wenn eine Zeile ausgewählt wird. Daraus Sie

Verwandte Themen