Ich habe eine Reihe von Räumen, die ich nach usercount/topvotes sorta Zeug filtern möchte.Sortieren von Arrays verursacht falsche Daten in Zellen angezeigt werden
Ich treffe auf Schaltflächen, um die Filteränderungen auszulösen, setze einen Wert auf "CurrentSearch", lade meine Tabeldaten neu und in meinem cellForRowAtIndexPath prüfe ich den aktuellen currentsearch Wert und filtere die Liste entsprechend.
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if currentSearch == "new" {
self.PersonalSearchesList = PersonalSearchesList.sorted{ $0.users < $1.users }
} else if currentSearch == "top" {
self.PersonalSearchesList = self.PersonalSearchesList.sorted{ $0.latestUser < $1.latestUser }
}
Meine Bilder/Labels laden vor der Filterung einwandfrei. Beim ersten Laden setze ich currentSearch auf "neu" und es funktioniert einwandfrei. Erst wenn ich versuche, zwischen Filtern zu wechseln, werden die Dinge funky. Ich erhalte zufällige Duplikate von Zellen, und während ich zwischen den Filtern wechsle, bleiben die inkorrekten Ladungen konsistent..wie in den gleichen Duplikaten der gleichen Zellen an den gleichen Stellen gemacht/platziert werden.
Ich habe es, wenn ich auf eine Zelle klicke, werden die Informationen für die Zelle gedruckt..und trotz der falsch geladenen Zelleninformation sind die tatsächlichen Informationen korrekt und die Listen sind so geordnet, wie sie sein sollten.
irgendwelche Ideen?
Nie jemals versuchen, die Datenquelle auf 'cellForRowAtIndexPath' zu ändern, dass das Produkt sehr schlechtes Verhalten und wirklich falsch, Sie haben es zu sortieren, bevor Sie Ihr Tableview nachladen – Tj3n
Ich wurde dorthin verschoben, wo ich nach dem Tippen tippe und dann die Tabellenansicht neu laden, und das hat perfekt funktioniert. Ich habe gesehen, dass das Sortieren in einem Video wie dieses einmal gemacht wurde und es blieb bei mir als der Weg, es zu tun. Schätze nicht haha. Apprecaite es Mann. – user6820041