Ich lernte example in der Demo, um ein UITableView zu erstellen und Zellen zu rendern.Wie soll ich UITableViewCell mit RxSwift aktualisieren?
Meiner Meinung nach items
ist ViewModel, möchte ich einige Daten über das Netzwerk mit Alamofire oder anderen Bibliothek anfordern. Wenn ich die Antwort bekomme, wie kann ich den Text der Zelle aktualisieren?
Mit anderen Worten, ich möchte ViewModel an Zellen binden. Wenn sich die Daten des Modells änderten, konnte der Inhalt der Zelle automatisch geändert werden.
Ich habe eine Idee ist: eine Observable Sequenz für den Inhalt (binden an Zell) der Zelle erstellen .Wenn die Serverantwortdaten nennen, Funktion tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Top)
. Aber das scheint keine Gnade oder gute Methode zu sein.
So, hoffe, einige kann mir helfen :)
let items = Observable.just([
"First Item",
"Second Item",
"Third Item"
])
items
.bindTo(tableView.rx_itemsWithCellIdentifier("Cell", cellType: UITableViewCell.self)) { (row, element, cell) in
cell.textLabel?.text = "\(element) @ row \(row)"
/* to do some binding or something else ? */
}
.addDisposableTo(disposeBag)
tableView
.rx_modelSelected(String)
.subscribeNext { value in
DefaultWireframe.presentAlert("Tapped `\(value)`")
}
.addDisposableTo(disposeBag)
Hallo, Artem Kislitsyn, Thaks für Ihre Antwort. In meinem Projekt möchte ich Zelle Inhalt auf Antrag vom Netz im backgroud aktualisieren. Wenn die Serverantwort die Zelle den Inhalt automatisch aktualisieren konnte ... – Bronts
Im Beispielprojekt RXExample WikipediaImageSearch Modul zeigen, wie Sie Anfrage im Hintergrund oder GitHubSearchRepositories tun können –