Я узнал example в демо, чтобы создать UITableView и отобразить ячейки.Как мне сделать, чтобы обновить UITableViewCell с помощью RxSwift?
На мой взгляд, items
is viewModel, я хочу запросить некоторые данные по сети, используя Alamofire или другую библиотеку. Когда я получу ответ, как я могу обновить текст ячейки?
Другими словами, я хочу привязать viewModel к ячейкам. Когда данные модели будут изменены, содержимое ячейки может автоматически изменяться.
У меня есть идея: создать наблюдаемую последовательность для содержимого ячейки (привязать к ячейке). Когда данные ответа сервера, он вызывает функцию 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)
Привет, Артем Кислицын, Thaks за ваш ответ. В моем проекте я хочу обновить содержимое ячейки по запросу из сети в backgroud. Когда ответ сервера, ячейка может обновить содержимое автоматически ... – Bronts
В примере проекта RXExample Модуль WikipediaImageSearch показывает, как вы можете выполнить запрос в фоновом режиме или GitHubSearchRepositories –