iOS之《Effective Objective-C 2.0》读书笔记(5)
2017-08-17 18:36
399 查看
第五条:用枚举表示状态,选项,状态码
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; }
相关文章推荐
- iOS-Effective Objective-C 2.0 读书笔记(二)
- 《Effective Objective-C 2.0 编写高质量iOS与OS X代码的52个有效方法》--读书笔记
- iOS之《Effective Objective-C 2.0》读书笔记(49)
- iOS之《Effective Objective-C 2.0》读书笔记(46)
- iOS之《Effective Objective-C 2.0》读书笔记(2)
- iOS之《Effective Objective-C 2.0》读书笔记(21)
- iOS-Effective Objective-C 2.0 读书笔记(一)
- iOS之《Effective Objective-C 2.0》读书笔记(48)
- 编写高质量的iOS代码--Effective Objective-C 2.0 读书笔记
- iOS之《Effective Objective-C 2.0》读书笔记(22)
- iOS之《Effective Objective-C 2.0》读书笔记(51)
- iOS之《Effective Objective-C 2.0》读书笔记(10)
- iOS之《Effective Objective-C 2.0》读书笔记(44)
- iOS之《Effective Objective-C 2.0》读书笔记(42)
- iOS之《Effective Objective-C 2.0》读书笔记(14)
- 《Effective Objective-C 2.0编写高质量iOS与OS X代码的52个有效方法》读书笔记(下)
- <<Effective Objective-C 2.0 编写高质量iOS与OS X代码的52个有效方法>>读书笔记之objc_msgSend
- iOS之《Effective Objective-C 2.0》读书笔记(6)
- 《Effective Objective-C 2.0编写高质量iOS与OS X代码的52个有效方法》读书笔记(上)
- iOS之《Effective Objective-C 2.0》读书笔记(43)