Ich glaube, dass Sie wollen „überprüfen“ das Häkchen für die ausgewählten Indizes, die Sie in irgendeiner Variable haben. Wenn das ist, was Sie wollen, können Sie dies wie in Ihrem tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
Methode tun:
myCell.checked = checkedIndexes[indexPath.row] ?? false
Ich bin der Annahme, Sie eine benutzerdefinierte Zelle mit einer checked: Bool
Variable so, wenn Sie den Wert in Ihrer checkedIndexes
Variable haben Sie es einrichten, Ansonsten setzen Sie false
.
WARNUNG: Der Wert false
ist wegen der Wiederverwendung von Zellen wichtig.
Dies ist nur ein Vorschlag, Sie können es tun, wie Sie es mögen.
Die selectRow(at indexPath: IndexPath?, animated: Bool, scrollPosition: UITableViewScrollPosition)
Methode ist nur die Zeile auswählen, es führt keine Aktion mit Logik verwandt. Damit dies funktioniert, müssten Sie tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath)
aus dem UITableViewDelegate
mit dem vor dem myCell.checked = checkedIndexes[indexPath.row] ?? false
vorgeschlagenen Code implementieren.
Was genau meinen Sie mit "bestimmte Zeilen auswählen"? Sie möchten das Häkchen für die zuvor ausgewählten Zeilen markieren? – valcanaia
Ich denke, die Zeile wird ausgewählt, aber Sie müssen die Tabellenansicht in die neu ausgewählte Zeile scrollen, indem Sie etwas anderes als '.none' übergeben. Überprüfen Sie: https://developer.apple.com/documentation/uikit/uitableviewcrollposition –
@valcanaia, Ja, ich habe alle Indizes in einer globalen Variable gespeichert, ich möchte nur eine Zellenauswahl hart Code, wenn das Sinn macht –