Rxで1つ前のイベントを比較してイベントを発火させる
blog.ishkawa.org
1 Pocket
Rxで1つ前の値を取得する
Twitter for iOSには選択中のタブをもう1度タップしたら最上部までスクロールするという機能があります。便利ですね。
1 |
<code>let tappedIndex = ReplaySubject<Int>.create(bufferSize: 1)</code> |
1 2 3 4 5 6 7 |
<code>var differenceObservable: Observable<Bool> { return Observable .zip(tappedIndex, tappedIndex.skip(1)) { previous, current in return previous != current }.filter { $0 } .asObservable() }</code> |
1 2 3 |
<code>differenceObservable .subscribe(onNext: { _ in print('do something') }) .disposed(by: disposeBag)</code> |