Ich bin ein Anfänger in Swift und erstelle eine Basis-App, die eine UITableView enthält. Ich möchte eine bestimmte Zeile der Tabelle aktualisieren mit:
self.tableView.reloadRowsAtIndexPaths(paths, withRowAnimation: UITableViewRowAnimation.none)
und ich möchte, dass die Zeile, die aktualisiert wird, aus einem Int mit dem Namen rowNumber stammt
Das Problem ist, ich weiß nicht, wie ich das machen soll und alle Threads, die ich gesucht habe, sind für Obj-C
Irgendwelche Ideen?
ios
uitableview
swift
nsindexpath
SentientBacon
quelle
quelle
Antworten:
Sie können eine
NSIndexPath
mit der Zeilen- und Abschnittsnummer erstellen und dann wie folgt neu laden:In diesem Beispiel habe ich angenommen, dass Ihre Tabelle nur einen Abschnitt enthält (dh 0), aber Sie können diesen Wert entsprechend ändern.
Update für Swift 3.0:
quelle
Für eine Soft Impact-Animationslösung:
Swift 3:
Swift 2.x:
Dies ist eine weitere Möglichkeit, die App vor Abstürzen zu schützen:
Swift 3:
Swift 2.x:
quelle
Swift 4
quelle
In Swift 3.0
byDefault, wenn Sie nur einen Abschnitt in TableView haben, können Sie den Abschnittswert 0 setzen.
quelle
quelle
SWIFT 4.2
quelle
Wie wäre es mit:
quelle
Wenn Sie Abschnitte für die Tabellenansicht haben, sollten Sie nicht versuchen, alle Zeilen zu finden, die Sie aktualisieren möchten. Sie sollten außerdem Abschnitte zum erneuten Laden verwenden. Es ist ein einfacher und ausgewogenerer Prozess:
quelle
Swift 4.1
Verwenden Sie diese Option, wenn Sie eine Zeile mit dem ausgewählten Tag der Zeile löschen.
quelle
Mir ist klar, dass diese Frage für Swift ist, aber hier ist der Xamarin-äquivalente Code der akzeptierten Antwort, wenn jemand interessiert ist.
quelle
quelle