RxSwift,RxCocoa和UITableview

我有一个使用RxSwift实现UITableView的问题。

我尝试使用下面的代码将一个模型数组的observable绑定到表项。 models.bind(to: self.tableView.rx.items(cellIdentifier: "Cell", cellType: ModelTableViewCell.self

但是当我这样做给我以下错误:inputType 'inout UITableView' does not conform to protocol 'ReactiveCompatible' ,我知道错误不能正确,因为NSObject扩展ReactiveCompatible,所以UITableView也。 另外,我的项目代码与RxSwiftCommunity上显示的示例并没有太大的区别

我创build了一个有错误的小例子项目。

[显示错误的示例代码(图片)]

Swift是相当不错的语言,但有时候会发生,编译器无法识别参数的types。 那么你需要显式的定义一个types的参数。 在你的情况下,你需要定义块参数的types,请参阅代码:

 func bindRx(viewModel: ViewModel) { viewModel.models.bind(to: tableView.rx.items(cellIdentifier: ModelTableViewCell.ReuseIdentifier, cellType: ModelTableViewCell.self)) { (_, model: Model, cell: ModelTableViewCell) in cell.textLabel?.text = model.name } .addDisposableTo(disposeBag) } 

在这里输入图像说明