Effective Objective-C 2.0 第5条:用枚举表示状态、选项、状态码
来源:互联网 发布:java获取文件夹的路径 编辑:程序博客网 时间:2024/06/05 03:23
简单枚举类型
enum EOCConnectionState { EOCConnectionStateDisconnected, EOCConnectionStateConnecting, EOCConnectionStateConnected,}typedef enum EOCConnectionState EOCConnectionState;
这样就可以简写的EOCConnectionState来代替完整的enum EOCConnectionState。
指定底层数据类型
enum EOCConnectionState : NSInteger {/* ... */}
或者向前声明:
enum EOCConnectionState : NSInteger;
彼此组合的枚举
各选项之间可以通过”按位或操作符”。
enum UIViewAutoresizing { UIViewAutoresizingNone = 0, UIViewAutoresizingFlexibleLeftMargin = 1 << 0, UIViewAutoresizingFlexibleWidth = 1 << 1, UIViewAutoresizingFlexibleRightMargin = 1 << 2, UIViewAutoresizingFlexibleTopMargin = 1 << 3, ...}
Foundation框架辅助宏
这些宏具有向后兼容能力。
typedef NS_ENUM(NSUInteger, EOCConnectionState) { EOConnectionStateDisconnected, ...}
typedef NS_OPTIONS(NSUInteger, EOCPermittedDirection) { EOCPermittedDirectionUp = 1 << 0, ...}
用枚举定义定义状态机,最好不要有default分支。
switch(_currentState) { case EOCConnectionStateDisconnected: break; case EOCConnectionStateConnecting: break; case EOCConnectionStateConnected: break;}
0 0
- Effective Objective-C 2.0 第5条:用枚举表示状态、选项、状态码
- 《Effective Objective-C 2.0》3、枚举类型表示状态、选项
- iOS 高级开发技巧 1.熟悉Objective-C (五) 用枚举表示状态、选项、状态码
- 枚举表示状态,选项,状态码
- ios用枚举表示状态,选项,状态码
- Effective Objective-C 2.0 第6条:理解“属性”
- Effective Objective-C(第1-5条)熟悉Objective-C
- Effective Objective-C 2.0 第4条:多用类型常量,少用#define预处理指令
- Effective Objective-C 2.0 第13条:用“方法调配技术”调试“黑盒方法”
- Effective Objective-C 2.0 第3条:多用字面量语法,少用与之等价的方法
- Effective Objective-C 2.0 第7条:在对象内部尽量访问实例变量
- Effective Objective-C 2.0 第8条:理解“对象等同性”概念
- Effective Objective-C 2.0 第9条:以“类族模式”隐藏实现细节
- Effective Objective-C 2.0 第11条:理解objc_msgSend的作用
- Effective Objective-C 2.0 第12条:理解消息转发机制
- Effective Objective-C 2.0 第13条:理解“类对象”的用意
- Effective Objective-C 2.0 第15条:用前缀避免命名空间冲突
- Effective Objective-C 2.0 第1条:了解Objective-C语言的起源
- Objective-C 内存管理
- Note on <Professional SQL Server 2012 Internals And Troubleshooting> - 01
- TDW计算引擎解析——Scheduler
- FreeSWITCH - mod_xml_rpc源码分析六thread_windows.c
- 二进制负数、补码、原码、反码
- Effective Objective-C 2.0 第5条:用枚举表示状态、选项、状态码
- POJ-1087 A Plug for UNIX
- C和C++混合编程
- python中面向对象的类,方法,实例
- 腾讯大数据之TDW计算引擎解析——Shuffle
- hdu 5428 The Factor 求一个数列的乘积的最小因子的因子数大于2 筛素数
- 1026. Table Tennis (30)
- WPF学习开发历程(一)——明天开始学习
- STL之list容器详解