回答編集履歴

1 詳細に

unhappychoice

unhappychoice score 943

2019/09/04 10:42  投稿

該当のソースは Apple の中の人しか閲覧できないと思いますので、正しい答えを持っている人は Apple の中の人のみかと思います。
が、予想をすると
```swift
func touchesBegan {
 if (touchesBeganIsStarted) { return } // フラグ立っていたら実行しない
 if (touchesBeganIsStarted) { return } // 既に実行中でフラグ立っていたら実行しない
 // 実際に touchesEnded リスナーを呼ぶ処理
}
```
のように排他処理がされているのでないのでしょうか。
Began に関して排他でリスナーが呼ばれなくても、 Ended ではタイミング/状態によって排他を通るということはあるかと思います。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る