无法使用rxswift变量ASOBSERVABLE()设置绑定(TO:uitableView)



我正在尝试绑定(to :) collectionView,但TableView也不起作用。我有一个viewModel,我的变量是< []>,并且我想在值更改时订阅我的tableview。

viewModel.theVariable
        .asObservable()
        .bind(to: tableView.rx.items(cellIdentifier: "Cell", cellType: UITableViewCell.self)){
            (row, item, cell) in
            cell.textLabel?.text = item
        }
        .addDisposableTo(disposeBag)

Xcode告诉我Type 'inout UITableView' does not conform to protocol 'ReactiveCompatible'应该是因为它适用于任何Uiview。

我尝试使用的是(),这种方法似乎正常工作。事实是,我需要具有一个变量,该变量在ViewModel中设置一个值,并且在视图中我需要观察此更改。不确定可观察到的方法是否使用此方法。

关键是,即使可变也应该起作用?是一个错误吗?我使用Swift 3.2

这是一个工作代码示例:

    var dataSource : PublishSubject<[String]> = PublishSubject()
    dataSource.asObservable().bind(to: self.mProductsCollectionView.rx.items) { (collectionView, row, element ) in
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "reuseIdentifier", for: IndexPath(row : row, section : 0))
        //customize cell
        return cell
    }.addDisposableTo(bag)
    publish.onNext(["blah", "blah", "blah"])

这是在Swift 3

中工作代码
 var countries = Variable([Country]())
 countries.asObservable()
  .bind(to: tblRx.rx.items(cellIdentifier: "RxCell", cellType: RxCell.self)) { (row, element, cell) in
            //customise cell here
        }
     .disposed(by: disposeBag)

最新更新