绑定
Observable.combineLatest(firstName.rx_text, lastName.rx_text) { $0 + " " + $1 }
.map { "Greetings, \($0)" }
.bindTo(greetingLabel.rx_text)
每当一个项目由两个 Observables
中的任何一个发出时,使用 combineLatest
操作符,组合每个 Observable
发出的最新项目。因此,通过这种方式,我们将两个 UITextField
的结果与文本 Greetings, \($0)
一起使用字符串插值创建新消息,以便稍后绑定到 UILabel
的文本。
我们可以通过非常简单的方式将数据绑定到任何 UITableView
和 UICollectionView
:
viewModel
.rows
.bindTo(resultsTableView.rx_itemsWithCellIdentifier("WikipediaSearchCell", cellType: WikipediaSearchCell.self)) { (_, viewModel, cell) in
cell.title = viewModel.title
cell.url = viewModel.url
}
.addDisposableTo(disposeBag)
这是围绕 cellForRowAtIndexPath
数据源方法的 Rx 包装器。而且 Rx 还负责 numberOfRowsAtIndexPath
的实现,这是传统意义上的必需方法,但你不必在这里实现它,它需要处理。