RxSwift:将元素追加到Observable< [_]>

时间:2016-05-08 17:25:16

标签: swift rx-swift

我有一个数组(Observable<[_]>),它是tableview的数据源。我希望能够向它添加新元素,并在每次将新元素附加到数组时更新tableview。我找不到如何向Observable<[_]>添加新元素。

1 个答案:

答案 0 :(得分:15)

使用Subject,例如Variable。然后,只需将value属性视为Arrayappend即可添加新元素。通过Variable订阅asObservable()

我使用String简化了代码示例,但是您需要使用某种UITableViewCell

let dataSource = Variable<[String]>([])

dataSource.value.append("some string A")

dataSource.asObservable()
    .subscribeNext { e in
        print(e)
    }
    .addDisposableTo(disposeBag)

dataSource.value.append("some string B")

获得dataSource后,您需要通过

将其连接到tableView
dataSource.asObservable().bindTo(yourTableView.rx_itemsWithCellIdentifier("MyCellClass", cellType: MyCellClass.self)) { (row, element, cell) in
      // do your cell configuration here
}