Objective-C で UISwipeGestureRecognizer クラスを使用する方法を調べていたところ、たまたま UISwipeGestureRecognizerDirection という名前の列挙型に遭遇しました。
Apple はこれを次のように定義しています。
typedef enum {
UISwipeGestureRecognizerDirectionRight = 1 << 0,
UISwipeGestureRecognizerDirectionLeft = 1 << 1,
UISwipeGestureRecognizerDirectionUp = 1 << 2,
UISwipeGestureRecognizerDirectionDown = 1 << 3
}
コンパイラが上記、特に << 演算子をどのように解釈したかはわかりませんでした。調べると、ビットごとの左シフトのように見えますが、上記の演算子がどのように機能するかを理解していないのではないかと心配しています。
どんな方向でも大歓迎です。前もって感謝します!