何をする|そして<<意味?

objective-c
何をする|そして<<意味?

これはよくある質問ですが、それが何と呼ばれているのかわからないので申し訳ありません。

これはどのように作動しますか:

view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;

ビューが幅と高さの両方を柔軟に取得することを意味することを理解していますが、そのような2つの変数をどのように格納しますか?

UIViewAutoresizingのtypedefを見ると、次のようになります。

enum {
    UIViewAutoresizingNone                 = 0,
    UIViewAutoresizingFlexibleLeftMargin   = 1 << 0,
    UIViewAutoresizingFlexibleWidth        = 1 << 1,
...

それでは、1つの変数にこのような複数の値を格納するにはどうすればよいでしょうか?

  5  0


ベストアンサー

「|」ビット単位の「または」です。

「<<」もビット単位の演算シフトです。 すべてのビットを左に移動します。

00100 << 1 = 01000

wikiを読んで、「または」およびシフト操作に興味があります。

6


これらはCビットレベルの演算子です。

`|`はバイナリまたは:0001 | 0010 = 0011。

「<<」はビットシフトです:0001 << 1 = 0010

これらは、http://en.wikipedia.org/wiki/Mask_%28computing%29 [bitmasks]に使用されます。

3


タイトルとURLをコピーしました