Swift中的枚举类型(一)

来源:互联网 发布:雷克萨斯es300h 知乎 编辑:程序博客网 时间:2024/05/29 05:12

语法格式:

enum 枚举名{

枚举的定义

}


枚举名的命名规则和类名命名规则类似, 首字母大写。


举例:

enum Weekdays{<span style="white-space:pre"></span>case Mondaycase Tuesdaycase Wednesdaycase Thursdaycase Friday}


也可以写在一行中

enum Weekdays{case Monday, Tuesday, Wednesday, Thursday, Friday}


Switch语句

枚举类型经常和switch语句一起使用,示例如下:

switch day {    case .Monday://等同于Weekdays.Monday        println("星期一")    case .Tuesday:        println("星期二")    case .Wednesday:        println("星期三")    case .Thursday:        println("星期四")    case .Friday:        println("星期五")    }

实际使用中,可以省略掉枚举名,直接点枚举成员

注意两点:1. 在swift中使用枚举类型可以省略default分支; 2.switch中的分支数必须等于枚举数,包含default分支



赋值

枚举类型的原始值可以包含:字符、字符串、整数和浮点数

enum Weekdays : Int {    case Monday = 0    case Tuesday = 1    case Wednesday = 2    case Thursday = 3    case Friday = 4}

需要注意的是:每个枚举值都不能重复


也可以只给第一个值赋值,后面的值会依次累加

enum Weekdays : Int {    case Monday = 0, Tuesday, Wednesday, Thursday, Friday}


新建一个playground,完整示例如下:

// Playground - noun: a place where people can playimport UIKitenum Weekdays : Int {    case Monday = 0, Tuesday, Wednesday, Thursday, Friday}var day = Weekdays.Mondayfunc chooseWeek(day:Weekdays){    switch day {    case .Monday:        println("I'm Monday.")    case .Tuesday:        println("I'm Tuesday.")    case .Wednesday:        println("I'm Wednesday.")    case .Thursday:        println("I'm Thursday.")    case .Friday:        println("I'm Friday.")    }}let friday = Weekdays.Friday.rawValueif (friday == 4){    println("今天是星期五")}chooseWeek(Weekdays.Tuesday)

















0 0
原创粉丝点击