检测何时到达表格 View 底部
如果不是底部 返回 Observable.empty()
如果 tableview 是底部 return Observable.just(())
据我所知,Observable.empty()
没有调用 onNext
但是 empty()
或 just()
调用 onNext
tableView.rx.contentOffset
.map {
self.isNearTheBottomEdge(contentOffset: $0, self.tableView) && self.postModel.isLoadingComplete.value
? Observable.just(())
: Observable.empty()
}
.throttle(3, scheduler: MainScheduler.instance)
.subscribe(onNext: {
print("reached bottom")
self.postModel.nextPage.onNext(())
},onCompleted: {
print("complete")
}
)
.disposed(by: disposeBag)
在调试中返回 Observable.empty()
但总是 print("reached bottom")
最佳答案
如果您不想在 Observable.empty() 上调用 subscribe(onNext)
,只需将 .map{}
更改为 .flatMap{ }
tableView.rx.contentOffset
.flatMap {
self.isNearTheBottomEdge(contentOffset: $0, self.tableView) && self.postModel.isLoadingComplete.value
? Observable.just(())
: Observable.empty()
}
Here您可以阅读 map
与 flatMap
关于ios - RxSwift Observable.empty() 正在调用 onNext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55506806/