绑定

Observable.combineLatest(firstName.rx_text, lastName.rx_text) { $0 + " " + $1 }
.map { "Greetings, \($0)" }
.bindTo(greetingLabel.rx_text)

每当一个项目由两个 Observables 中的任何一个发出时,使用 combineLatest 操作符,组合每个 Observable 发出的最新项目。因此,通过这种方式,我们将两个 UITextField 的结果与文本 Greetings, \($0) 一起使用字符串插值创建新消息,以便稍后绑定到 UILabel 的文本。

我们可以通过非常简单的方式将数据绑定到任何 UITableViewUICollectionView

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 的实现,这是传统意义上的必需方法,但你不必在这里实现它,它需要处理。