iOSエンジニアのつぶやき

毎朝8:30に iOS 関連の技術について1つぶやいています。まれに釣りについてつぶやく可能性があります。

【RxSwift】一定期間内に発生したイベントの最初のイベントを取得する

結論

下記のようにすることで、observableから流れてくる最初のイベントから500msの間隔があくまで、次のイベントをストリームに流さないようにすることができます。例えば、UIScrollViewなんかで最初のスクロールイベントのみを取得したい場合なんかに有効です。

    observable
        .throttle(.milliseconds(500), latest: false, scheduler: MainScheduler.instance)

ちなみに、latestはデフォルトでtrueです。latesttrueの場合は、最初のイベントと期間内に発生したイベントの最後のイベントの二つを取得することができるようになります。

    observable
        .throttle(.milliseconds(500), latest: true, scheduler: MainScheduler.instance)

その他の記事

yamato8010.hatenablog.com

yamato8010.hatenablog.com

yamato8010.hatenablog.com