使用RxSwift重新载入Tableview
我正在使用RxSwift进行tableview。 每次从api获取数据后,我都需要重新载入表格,但是我没有做到这一点。 我找不到任何解决scheme。 任何人都可以帮忙吗?
我有一个从Api的响应获得的地方数组。我已经使用这个代码在视图中加载,但是当数组更新时不会调用它。
我发现了这个问题。 我的数组没有得到正确更新。 我做了以下更改。
声明ModelClass的dataSource
variables:
let dataSource = Variable<[SearchResult]>([])
现在绑定它与表视图是空的:
dataSource.asObservable().bindTo(ResultsTable.rx.items(cellIdentifier: "SearchCell")){ row,Searchplace,cell in if let C_cell = cell as? SearchTableViewCell{ C_cell.LocationLabel.text = Searchplace.place } }.addDisposableTo(disposeBag)
然后存储我更新的数组,其中包含searchPlaces:
dataSource.value = self.array
现在,每当dataSource的值将被更改时,表视图将被重新加载。
让
array = Variable<[SearchResult]>([])
每当你打你的API时,把你提取的结果放在self.array.value
,它会自动更新。
self.array.asObservable().bindTo(ResultsTable.rx.items(cellIdentifier: "SearchCell", cellType:SearchCell.self)) { (row, element, cell) in cell.configureCell(element: element) }.addDisposableTo(disposeBag)