Home 枚举之美(上)
Post
Cancel

枚举之美(上)

枚举,是一个被命名的整型常数的集合, 它可以让我们的代码更具可读性!

枚举在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];
This post is licensed under CC BY 4.0 by the author.

const与宏的区别

使用贝塞尔曲线绘制表情