0

使用するためにブリッジしてきましたRACSignal.bufferWithTime。私の知る限り、RAC 3 には同等のものはありませんか? bufferWithTimeRAC3を使用した場合の動作を模倣するための回避策/トリックはありますか?

私のケースのシナリオは、(ダブルタップをキャプチャするために) ユーザーが特定の短い期間に 2 回タップしたかどうかを追跡する必要があるというものです。私は基本的に約 0.2 秒でバッファリングし、1 回以上のタップがあったかどうかを確認します。FIY、UIGestureRecognizerシングルタップ API のみを公開するサードパーティ オブジェクトを使用しているため、使用できません。

ありがとう!

4

1 に答える 1

1

する必要はありませんbufferWithTime。各タップでタイムスタンプを確認するだけで実行できます。次の手順を実行します:

  1. サードパーティ オブジェクトでタップ イベントのシグナルを作成します。
  2. mapタップが発生した現在の時刻を表すタイムスタンプへのタップ イベントのシグナル。
  3. タップ イベントのシグナルで使用combinePreviousして、値が 2 つのタイムスタンプのタプルであるシグナルを作成します。1 つ目は前の値で、2 つ目は現在の値です。
  4. filter0.2このシグナルは、各タプルの最初の値を 2 番目の値から減算し、それが-second しきい値を満たしているか超えているかを比較することによって得られます。

最後の信号が値を送信するたびに、前のタップから 0.2 秒以内にタップが発生しました。

于 2015-08-28T03:45:36.270 に答える