0
私はRxSwiftとリアクティブプログラミングの新機能です。ここに私のコードです:RxSwiftのasObserver、asObservableとnoneの違い
let disposeBag = DisposeBag()
let dartScore = PublishSubject<Int>()
dartScore.asObserver()
.scan(501, accumulator: {
intermediate, newValue in
var result = intermediate - newValue
return result >= 0 ? result : intermediate
})
.do(onNext: {
if $0 == 0 {
dartScore.onCompleted()
}
})
.subscribe(onNext:{print($0)}, onCompleted:{print("Game over")})
.addDisposableTo(disposeBag)
dartScore.onNext(13)
dartScore.onNext(60)
dartScore.onNext(50)
dartScore.onNext(0)
dartScore.onNext(0)
dartScore.onNext(378)
あなたが気づいたかもしれませんdartScore.asObserver()
。私は.asObserver()
を削除したり、.asObservable()
と交換した場合、最終結果は同じです。
488
428
378
378
378
Game over
誰でも差がSubject
にasObserver
、asObservable
または通常observable
オブジェクトである何)との間にあるかを説明するのに役立つことはできますか?