枚举中的位运算
为什么枚举中位运算都可以使用并运算?
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则包含
*/
}