# 5、用枚举表示状态、选项、状态码

* 应该用枚举来表示状态机的状态、传递给方法的选项以及状态码等值，给这些值起一个易懂的名字
* 如果把传递给某个方法的选项表示为枚举类型，而多个选项有可同时使用，那么就将各选项定义为2的幂，一遍通过`按位或`(`|`)操作符将其组合起来
* 用`NS_ENUM`与`NS_OPTIONS`宏来定义枚举类型，并指明其底层数据类型。这样做可以确保枚举是用开发者所选的底层数据类型实现出来的，而不会采用编译期所选的类型
* 在处理枚举类型的`switch`语句中不要实现`default`分支。这样的话，加入新的枚举之后，编译期就会提示开发者：`switch`语句并未处理所有枚举
