要するに、私が読んだことと私の実験が示したことから、「ゴブラー」は、状態遷移(ユーザーのタッチまたはスワイプによって開始される)時にテーブルビュー(実際にはテーブルセル)をスワイプしてタッチするように見えますが進行中であるため、ユーザーがテーブルに再度触れる前に状態遷移を完了することができます。Appleは他の場合にそれを使うかもしれないが、私がゴブラーを観察したのはテーブルビュー上にある。
長い話ですが、テーブルビューが、Appleのメールアプリやメッセージアプリのように、テーブルセルに「引き出し」を実装しているとします。バックスワイプで引き出しを開き、引き出しのいずれかのボタンを操作すると、すべて問題ありません。ただし、4回目のスワイプでドローを閉じると、ランダムセルでの次のバックスワイプが機能しない場合があります。ただし、バックスワイプを続けている場合は、通常、次のスワイプが再び機能して引き出しが表示されます。簡単に言えば、スワイプを使用してランダムセルの引き出しを開閉すると、引き出しが開かないことがあります。
私は自分のテーブルでこの振る舞いを見て、何か間違ったことをしたと思いました。私は多くのことを試し、最終的にUIGestureRecognizerDelegateもサポートするUITableViewの独自のサブクラスを実装しました。私のサブクラスでは、jessageRecognizerとotherGestureRecognizerのペアを出力するために、デリゲートのshouldBeRequiredToFailByGestureRecognizer関数を実装しました。次に、バックスワイプが認識されたときに、ゴブラーがペアに存在しないことがわかりました。しかし、バックスワイプが機能していないときは、ゴブラーは間違いなく存在します。
Webでの一般的な意見では、gobblerは、1つの遷移がすでに進行しているときに、ユーザーがテーブル上で別の状態遷移を引き起こすのを防ぐために使用されます。ユーザーが実際に何らかのアクションを実行する場合(ドロワーのボタンに触れることによって)、これは問題ありません。ただし、ユーザーが引き出しを閉じるだけの場合は、ゴブラーをキャンセルする必要があります。または、ユーザーがアクションを実行した場合にのみ、ゴブラーを追加する必要があります。気付いた後、私はAppleのアプリについて自分の理論を試してみました。メールアプリがすべてのスワイプに完全に応答して動作することはすでに知っていました。しかし、メッセージアプリは、私のアプリと同じように、引き出しを開くスワイプを繰り返すと断続的に動作します。したがって、Mailの開発者はより注意深く、内部の知識を使用して正しく処理していると思います。私の観察は、iPhone6とiPad2のiOS8.4で行われます。