iOS之《Effective Objective-C 2.0》读书笔记(5)

第五条:用枚举表示状态,选项,状态码

1.状态-NS_ENUM使用:

(1)是用来声明一般的NSInteger类型的:只能有一种
(2)默认:以0开始递加,即下例为:0,1,2,3
(3)自定义:OneBtnTag == 421,则为:421,422,423,424,425

//NS_ENUM
typedef NS_ENUM(NSInteger, Btn) {    // 按钮,从上到下
    OneBtnTag               = 421,
    TwoBtnTag               
    ThreeBtnTag             
    FourBtnTag             
    FiveBtnTag                         
};
2.选项-NS_OPTIONS使用:

(1)用来声明位掩码:同时可以有一种或一种以上
(2)位运算符:左移-a << b就表示把a转为二进制后左移b位(在后面添b个0)

//NS_OPTIONS
typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) {
        UIViewAutoresizingNone                 = 0,
        UIViewAutoresizingFlexibleLeftMargin   = 1 << 0,//值为1(2的0次方)
        UIViewAutoresizingFlexibleWidth        = 1 << 1,//值为2(2的1次方)
        UIViewAutoresizingFlexibleRightMargin  = 1 << 2,//值为4(2的2次方)
        UIViewAutoresizingFlexibleTopMargin    = 1 << 3//值为8(2的
};
        UIViewAutoresizingFlexibleHeight       = 1 << 4,
        UIViewAutoresizingFlexibleBottomMargin = 1 << 5

(3)可组合使用:

   autoviewsizing = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight
3.枚举在switch语句中的使用:

(1)使用方式:在处理枚举类型的switch语句中不要实现default分支
(2)作用:在加入新枚举时,编译器会提示开发者,switch未处理所有枚举

 switch (state) {
        case firstBtnTag:
            //...
            break;
        case secondBtnTag:
            //...
            break;
        case thirdBtnTag:
            //...
            break;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值