我在演示中學到了example來創建一個UITableView並渲染單元格。我應該如何通過使用RxSwift來更新UITableViewCell?
在我看來,items
是viewModel,我想通過使用Alamofire或其他庫來請求跨網絡的一些數據。當我收到回覆時,如何更新單元格的相關文本?
換句話說,我想將viewModel綁定到單元格。當模型數據改變時,單元格的內容可能會自動改變。
我有一個想法是:爲單元格的內容創建一個Observable序列(綁定到單元格)。當服務器響應數據時,它調用函數tableView.reloadRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Top)
。但這似乎不是一種優雅或好方法。
所以,希望有能幫助我:)
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)
嗨,阿爾喬姆Kislitsyn,Thaks你的答案。在我的項目中,我想通過背景中的網絡請求更新單元格的內容。當服務器響應單元格時可以自動更新內容... – Bronts
示例項目RXExample WikipediaImageSearch模塊顯示如何在後臺或GitHubSearchRepositories中執行請求 –