oij*_*djn 5 ios swift rx-swift
检测何时到达 tableview 底部如果不是底部return Observable.empty()
如果 tableview 是底部return Observable.just(())
据我所知Observable.empty(),不是在调用 onNext
但是empty()或just()调用下一个
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)
Run Code Online (Sandbox Code Playgroud)
return Observable.empty() 在调试中但总是 print("reached bottom")
如果你不想subscribe(onNext)在 Observable.empty() 上被调用,只需更改.map{}为.flatMap{}
tableView.rx.contentOffset
.flatMap {
self.isNearTheBottomEdge(contentOffset: $0, self.tableView) && self.postModel.isLoadingComplete.value
? Observable.just(())
: Observable.empty()
}
Run Code Online (Sandbox Code Playgroud)
在这里您可以了解map与 之间的区别flatMap
| 归档时间: |
|
| 查看次数: |
2485 次 |
| 最近记录: |