嗨,我正在尝试使 UIRefreshControl 与 RxSwift 一起工作。因此,我使用的是 RxSwift 示例中的活动指示器。
在我的 viewModel 中,我有以下函数和变量来获取我的数据。
// MARK: - Variables
var data = Variable<[Data]>([])
// MARK: - Public Interface
func getData() {
let request = Data.readAll()
_ = request.rxResult().subscribe(onNext: { response in
self.data.value = response.data
}, onError: { (Error) in
}, onCompleted: {
}, onDisposed: {
})
}
然后在我的视图控制器中,我尝试将它绑定到 UIRefreshcontrol 和我拥有的集合视图。
let refresher: UIRefreshControl = UIRefreshControl()
let indicator = ActivityIndicator()
indicator.asObservable()
.bindTo(refresher.rx.isRefreshing)
.addDisposableTo(disposeBag)
let resultObservable = viewModel.data.asObservable()
.trackActivity(indicator)
.bindTo(self.collectionView.rx.items(cellIdentifier: reuseCell, cellType: DataCollectionViewCell.self)) {
row, data, cell in
cell.configureCell(with: data)
}
resultObservable.addDisposableTo(disposeBag)
我的问题是,我缺少什么来完成这项工作?现在,如果我启动应用程序,除了一个不停旋转的黑色活动指示器之外,什么也没有发生。