ios - 无法设置绑定(bind)(到 : UITableView) with RxSwift Variable asObservable()

标签 ios swift uitableview rxdatasources

我正在尝试绑定(bind)(到:)一个 collectionView,但 tableView 也不起作用。我有一个 viewModel,我的 Variable<[]> 在哪里,我想在值发生变化时使用我的 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' 不符合协议(protocol) 'ReactiveCompatible' 这应该是因为它适用于任何 UIView。

我已经尝试使用它的 just() 来观察 Observable,而且这种方法似乎工作正常。问题是我需要有一个变量,我在 viewModel 中设置了一个值,在 View 中我需要观察这个变化。不确定 Observable 是否提供这种方法。

关键是这应该与 Variable 一起工作?这是一个错误吗?我正在使用 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"])

关于ios - 无法设置绑定(bind)(到 : UITableView) with RxSwift Variable asObservable(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46130494/

相关文章:

swift - 使用 SwiftUI WindowsGroup 关闭后恢复 macOS 窗口大小

ios - UISearchBar 范围空白

ios - 无法分配值类型

swift - 一次插入超过 250 条记录到 SQLite

ios - Xcode IAP 卡在等待上传

iphone - 在后台播放 AVAudioPlayer 的一个实例

ios - 从 Apple iTunes Connect 删除应用程序版本

ios - 以编程方式将 UITableViewCell 从一个部分移动到另一个部分

ios - swift : SLKTextViewController crashes after editing tableview numberOfSectionsInTableView

ios - 在实体异常中找不到 keypath objectID