RxSwift 从变量绑定到 UITable

RxSwift Binding to UITable from a Variable

在 RxSwift 中,你知道为什么我在这个 tableView 中没有得到任何值吗?
注意:allTable 是 UITableView

    var strList: Variable<[String]>?

    let disposeBag: DisposeBag = DisposeBag()

    strList?.value.append("111")
    strList?.value.append("222")
    strList?.value.append("333")

    strList?.asObservable()
        .bindTo(
            allTable.rx.items(cellIdentifier: "Cell", cellType: UITableViewCell.self)
        ){  (row, item, cell) in
            cell.textLabel?.text = item
        }
        .addDisposableTo(disposeBag)

您需要将 disposeBag 的创建移到函数之外

let disposeBag: DisposeBag = DisposeBag()

var strList: Variable<[String]>?

func subscribeToStrList() {
    strList?.value.append("111")
    strList?.value.append("222")
    strList?.value.append("333")

    strList?.asObservable()
        .bindTo(
            allTable.rx.items(cellIdentifier: "Cell", cellType: UITableViewCell.self)
        ){  (row, item, cell) in
            cell.textLabel?.text = item
        }
        .addDisposableTo(disposeBag)
}

否则,当函数退出时,订阅将被销毁。