ユーザーがUIView
.
にUIEvent
渡された にtouchesBegan:
は、秒単位のタイミング データしかありません。これは、十分に正確ではありません。
したがって、論理的には、次のステップはtouchesBegan:
usingmach_absolute_time()
などと呼ばれる時間を記録することのようです。このアプローチはほとんどの場合うまく機能しますが、システムが非常に集中的な作業を行っている場合 (特にメイン スレッドで UI 作業を行っている場合)、touchesBegan
ループ内で少し押し戻されたように見えます。それでも起動しますが、遅くなります。
シグナル チェーンのある時点で使用して、より正確なデータを取得できる低レベルのソリューションがあることを期待しています (少なくとも秒単位ではなくミリ秒単位で)。
もちろん、これらの遅延を回避するために、UI スレッドをできるだけ効率的に実行し続けるようにしますが、特に古いデバイスでは、タイミングの小さな問題は避けられないようです。