0

Ich habe eine Tabellenansicht und ich möchte, dass der Benutzer nur ein Element aus der Tabellenansicht auswählen, dann möchte ich ein Häkchen in die Zelle hinzufügen. Gleichzeitig möchte ich auch das Häkchen bei anderen Zellen verschwinden lassen damit die. Benutzer kann nur jeweils einen auswählen. Dann möchte ich die Daten speichern (vorzugsweise mit UserDefaults). Wie mache ich das?So speichern Sie den Status von UITableViewCell Zubehör-Häkchen in Swift 3

Antwort

1

Erstellen Sie eine Klassenvariable vom Typ IndexPath. Setzen Sie in Ihrer cellForRowAt-Methode den Optionstyp accessCheck nur dann, wenn der Indexpfad mit der Klassenvariablen übereinstimmt und andernfalls. In didSelectRowAt Verfahren die indexPath von ausgewählten Variablen aktualisieren und neu zu laden nur die Tableview

+0

Ich habe diesen Fehler, Screenshot von Code und Debugger Ausgabe hier verwenden sollten: https: //www.dropbox .com/s/jlqclcl40piso7e5/save% 20checkmark% 20accessory.png? dl = 0 –

+0

Sie müssen indexPath nicht in Benutzerstandardeinstellungen speichern ... Sie können einfach eine Klassenvariable erstellen. Im Screenshot speichern Sie den Indexpfad in den Benutzereinstellungen ... Welche Daten möchten Sie in den Benutzereinstellungen speichern? –

+0

Ich möchte den Indexpfad für die ausgewählte Zeile speichern, so dass ich beim Aktualisieren der Tabellenansicht den Indexpfad von Benutzerstandardeinstellungen abrufen und das Zubehörhäkchen basierend auf diesem Indexpfad setzen kann. –

0

Sie auf diese Weise

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) 
{ 
    let sgp : UITableViewCell = tableView.cellForRow(at: indexPath)! 
    sgp.accessoryType = .checkmark 
} 
Verwandte Themen