枚举中的位运算

为什么枚举中位运算都可以使用并运算?

 1.  什么是枚举中的位运算?

  例如

          int a = 1 << 0; //1左移0位    1*2^0 = 1;  

           int b = 1 << 1; //1左移1位   1*2^1 = 2;

           int c = 1 << 2; //1左移2位   1*2^2 = 4;

           int d = 1 << 3; //1左移3位   1*2^3 = 8;

 并运算

      a | b

      01

      10

--------------

      11 ==1+2 

int value  = a | b;

NSLog(@"%d,%d,%d,%d",value & a,value & b,value & c,value & d);

//结果为0则不包含,结果为0则不包含

 

//事件的枚举

[_TextF addTarget:self action:@selector(text) forControlEvents:UIControlEventEditingDidBegin];

 [_TextF addTarget:self action:@selector(text) forControlEvents:UIControlEventEditingChanged];

//将上面两个事件合并如下

    [_TextF addTarget:self action:@selector(text) forControlEvents:UIControlEventEditingDidBegin | UIControlEventEditingChanged];    

}

//调用监听方法 

 -(void)text

NSLog(@"文本框开始编辑或者文字开始改变");

/*

  在内部解析是否包含UIControlEventEditingDidBegin,UIControlEventEditingChanged

  步骤:1.UIControlEventEditingDidBegin | UIControlEventEditingChanged =X;

         2,判断NSLog(@"%d",X & UIControlEventEditingDidBegin); 结果为0则不包含,结果非0则包含

*/

 

}

posted @ 2016-04-22 15:31  文健博客  阅读(1099)  评论(0编辑  收藏  举报