【发布时间】:2019-04-02 08:01:40
【问题描述】:
我是第一次使用 RxSwift。 它将从我的服务器加载帖子列表。 第一次只需要运行loadPostList 但 只需初始化模型,nextPage 就会被调用。
请让我知道我做错了什么。
class PostNetworkModel {
var nextPage:BehaviorSubject<Void> = BehaviorSubject(value: ())
var reFresh:BehaviorSubject<Void> = BehaviorSubject(value: ())
var raiseError:BehaviorSubject<Void> = BehaviorSubject(value: ())
var isLoadingComplete = false
private var pageNo = BehaviorRelay(value: 1)
var postList : BehaviorRelay<[Post]> = BehaviorRelay(value: [])
let disposeBag = DisposeBag()
init() {
loadPostList()
.bind(to: postList)
.disposed(by: disposeBag)
postList
.asObservable()
.subscribe({ ( _) in
self.isLoadingComplete = true
})
.disposed(by: disposeBag)
nextPage
.asObservable()
.subscribe(onNext: { [weak self] ( _) in
print("nextPage")
if (self?.isLoadingComplete)!{
self?.isLoadingComplete = false
self?.pageNo.accept(self!.pageNo.value + 1)
}
})
.disposed(by: disposeBag)
}
}
【问题讨论】:
-
将 BehaviorSubject 更改为 PublishSubject
-
nextPage在这个类之外在哪里以及如何使用? -
@MattiaC。当到达表格视图底部时调用 nextPage.onNext(())