Swift从入门到精通 (移动开发丛书)
上QQ阅读APP看书,第一时间看更新

6.4 枚举类型的创建与应用

Swift语言中使用enum关键字来进行枚举的创建,使用Xcode开发工具创建一个命名为Enum的playground文件,在其中创建一个姓氏类型的枚举,如下所示:

        //创建一个姓氏类型枚举
        enum Surname {
            //使用case进行枚举值的定义
            case张
            case王
            case李
            case赵
        }

上面的代码创建了一个姓氏枚举类型,这个枚举类型中定义了4个枚举值,分别是张、王、李、赵,上面的写法将4个枚举值分别在4个case语句中定义,开发者也可以在1个case子句中完成多个枚举值的定义,示例如下:

        //创建一个姓氏枚举类型
        enum Surname {
            //在一条case语句中定义多个枚举值
            case张,王,李,赵
        }

在使用时,枚举和其他类型一样,开发者可以在声明变量时将变量的类型指定为某个枚举类型,也可以通过对变量初始化来使编译器自动推断出变量的类型。枚举中定义的枚举值在使用时,开发者可以使用点语法来获取,示例如下:

        //创建一个姓氏枚举类型的变量
        var sur:Surname
        //对sur变量进行赋值
        sur=Surname.张

实际上,如果一个变量的类型已经确认为某个枚举类型,那么开发者再进行变量赋值的时候,是可以将枚举类型省略掉的,直接使用点语法获取枚举值即可,示例如下:

        //对sur进行修改
        sur = .王

在开发中,枚举类型会经常与switch-case结合使用以实现选择结构,这种方式实现的选择结构代码清晰统一,对于开发者来说十分有益,示例如下:

        //创建一个姓氏枚举类型的变量
        var sur:Surname
        //对sur变量进行复制
        sur=Surname.张
        //对sur进行修改
        sur = .王
        //对枚举类型的变量进行switch选择结构
        switch sur {
            case .张:
              print("姓氏张")
            case .王:
              print("姓氏王")
            case .李:
              print("姓氏李")
            case .赵:
                print("姓氏赵")
        }