Zählen Sie die Anzahl der ausgewählten Zeilen auf UITableView

Ich habe den folgenden code, um die Anzahl der ausgewählten Zeilen in einer Tabelle (tableview1).

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    UITableViewCell * cell = [tableView cellForRowAtIndexPath:indexPath];
    if (!cell) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"Cell"];
    }
    int count = 0;
    selectedindex1 = indexPath.row;
    for (NSIndexPath *indexPath in tableview1.indexPathsForSelectedRows) {
        count = count + 1;
    }
    rowcount = count;
}

wo selectedindex1 und Zeilenanzahl sind integer-Variablen.

Dieser code funktioniert, solange Sie davon ausgehen, dass der Benutzer nicht wählen Sie eine Zeile, die bereits ausgewählt wurde. Wenn Sie das tun, wird die Anwendung kann nicht sagen, die richtige Anzahl der ausgewählten Zeilen zurückgegeben, weil eine solche Aktion wird nicht ausgelöst, die Methode didSelectRowAtIndexPath. Gibt es eine bessere Weise des Zählens der Anzahl der ausgewählten Zeilen?

Danke für Eure Hilfe.

  • Wenn eine Zeile bereits markiert ist, können Sie nicht wählen Sie es wieder, können Sie? Und selbst wenn man das könnte, wäre es nicht auf die Anzahl der ausgewählten Zeilen. Was genau versuchen Sie zu tun, mit Ihrer Zeilenanzahl variabel ist?
  • Ich habe versäumt zu erwähnen, aber 'Multiple Selection' aktiviert ist. Tut mir Leid, dass...
  • Das war klar genug. Ich Verstand nicht, dass Sie wollte, zu handeln, über die Abwahl sowie die Auswahl. Was tun, verwenden Sie die rowcount-variable für sowieso? Warum nicht einfach eine Steckdose zu halten, einen Verweis auf die tableview und aufrufen -indexPathsForSelectedRows in Ihrem code, wenn Sie Sie brauchen, die zählen?
InformationsquelleAutor El Tomato | 2013-03-11
Schreibe einen Kommentar