枚举,是一个被命名的整型常数的集合, 它可以让我们的代码更具可读性!
枚举在C中的写法:
1
2
3
4
5
6
7
8
9
10
| //定义星期枚举
enum weekday{
sun,
mon,
tue,
wed,
thu,
fri,
sat
};
|
枚举在OC中的写法:
oc和c是完全兼容的,所以在oc中写c的枚举当然也是可以的,但是oc本身有它自己的语言特性,所以尽量使用oc本身的属性 ,例如int对应的应该使用NSInteger,举例如下:
1
2
3
4
5
6
| //车品牌 枚举
typedef NS_ENUM(NSInteger,LYCarBrand){
LYCarBrandFerrari,
LYCarBrandLamborghini,
LYCarBrandBMW,
};
|
枚举在swift中的写法:
1
2
3
4
5
6
7
8
9
10
| //定义指南针方向枚举
enum CompassPoint {
case North
case South
case East
case West
}
//声明一个枚举变量
var cp = CompassPoint.South
|
如果已经声明枚举变量的类型,那么我们就就不用再写CompassPoint了,直接使用点语法,如下所示:
1
2
3
4
| //声明一个枚举变量
var cp : CompassPoint
//重新赋值
cp = .South
|
如果遇到枚举名很长的情况下oc的代码就显得非常冗长,不易于阅读和编写,例如UIViewAutoresizing选项,使用OC的语法如下所示:
1
2
| //使用或运算的时候代码显得冗长
view.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin;
|
而swift给我们提供了一种更简单的写法:
1
2
| //给枚举间的 或运算 编写格式
contentView.autoresizingMask = [.LeftMargin,.RightMargin];
|