最近看了一本OC进阶的书,很多人推荐的Effective Objictive-C2.0,看到书中枚举类型的介绍,觉得很不错,这里为大家总结一下。
enum
由于Objective-C基于C语言,所以C语言有的功能它都有,其中之一就是枚举类型enum。枚举类型只是一种常亮命名方式,某个对象所经历的各种状态或者类型就可以定义为一个简单的枚举类型,比如一个通讯录或者聊天页的页面有不同的会话类型,根据类型的不同所展示的页面或者操作对应也不相同。可以简单的如下定义枚举类型:
enum ViewType {
Contacts_Stranger,//陌生人
Contacts_NormalFriend,//普通好友
Contacts_SpecialFriend,//特别关心好友
};
由于每种状态都用一个便于理解的值来表示,所以这样写更为直观,代码更易读懂。编译器会为枚举分配一个独有的编号,默认从0开始,每个枚举递增1。
然而定义枚举类型的方式却不太简洁,要依如下语法编写:
enum ViewType type = Stranger;
typedef enum
使用typedef来定义枚举类型则简洁很多:
enum ViewType {
Contacts_Stranger,//陌生人
Contacts_NormalFriend,//普通好友
Contacts_SpecialFriend,//特别关心好友
};
typedef enum ViewType ViewType;
或者这样定义:
typede