iOS 枚举位移

简介

在iOS开发中,我们在Apple SDK和第三方SDK中经常可以看到这样的位移枚举值,作用呢大家都知道可以同时使用多个,下面我说下位移运算符所需要使用到的一些预算符,并写一个简单示例


系统.png
系统.png
需要使用的运算符
  • <<
    对二进制操作,进行整体向左位移操作末尾补0操作
    如:
    3//二进制为0011
    6 = 3<<1//二进制为0110
    12 = 3<<2//二进制为1100
    {要位移的数}<<{位移的位数}

  • |
    对二进制操作,将二进制合并,有1则为1
    6(0110) = 2(0010)|4(0100)

  • &
    对二进制操作,将二进制合并,同为1则为1
    2(0010) = 2(0010)|6(0110)

定义枚举
typedef NS_ENUM(NSUInteger, WebViewType) {
    WebViewTypeNor           = 1,                  //0001   1
    WebViewTypeTest1         = WebViewTypeNor << 1,//0010   2
    WebViewTypeTest2         = WebViewTypeNor << 2,//0100   4
    WebViewTypeTest3         = WebViewTypeNor << 3,//1000   8
};
使用枚举
WebViewType webType = WebViewTypeTest1 | WebViewTypeTest2;

if (webType & WebViewTypeNor) {
      NSLog(@"this is WebViewTypeNor");
}
if (webType & WebViewTypeTest1) {
      NSLog(@"this is WebViewTypeTest1");
}
if (webType & WebViewTypeTest2) {
      NSLog(@"this is WebViewTypeTest2");
}
输出.png
输出.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值