枚举
Swift中枚举的格式如下: enum 枚举名{ 枚举的定义 } 1、成员值 在枚举类型中定义一组成员,与C和Object-C中枚举的主要作用是一样的,在C和Object-C中的成员类型是整数类型,因此在C和Object-C中枚举类型就是整数类型,而在Swift中,枚举的成员值默认类型下不是整数类型,枚举的成员值默认情况下不是整数类型,以下代码是枚举的示例: enumWeekDays{ caseMonday caseTuesday caseWednesday caseThursday caseFriday } 其中定义了五个成员值:Monday....Friday,这些值都不是整数类型 多个成员值在同一行,用逗号隔开,如下所示: enum WeekDays{ case Monday,Tuesday,Wednesday,Thursday,Friday } 示例代码如下: varday=WeekDays.Friday day=WeekDays.Wednesday day=Monday funcwriteGreeting(day:WeekDays){ switchday{ caseMonday: println("星期一好") caseTuesday: println(“星期二好”) caseWednesday: println(“星期三好”) caseThursday: println(“星期四好”) caseFriday: println(“星期五好”) } } 2、原始值 可以为枚举每个成员提供特定类型的默认值,可以为枚举类型提供原始值声明,这些原始值类型可以是:字符、字符串、整数和浮点数等 原始值枚举的语法如下: enum 枚举名:数据类型{ case 成员名=默认值 } 示例: enumWeekDays:Int{ caseMonday=0 caseTuesday=1 caseWednesday=2 caseThursday=3 caseFriday=4 } 每个成员赋值,只要是Int类型就可以,但是每个分支不能重复, 简单写法,只需原始第一个成员赋值即可,后面的成员会依次加1 enumWeekDays:Int{ caseMonday=0,Friday } 从成员到原始值 let friday = WeekDays.friday.rawValue 从原始值到成员 let thursday = WeekDays(rawValue:4) 3、相关值 在Swift中除了可以定义一组相关值,它有点类似于C中的联合类型 下面有一个枚举类型的声明: enumFigure{ caseRectangele(Int,Int) caseCircle(Int) } 枚举类型Figure有2个相关值,Rectangle 和 Circle,这2个是与Figure有关联的相关值,只能是其中一个相关值。 示例 funcprintFigure(figure:Figure){ switchfigure{ case.Rectangle(letwidth,letheight): println("(width):(height)") caseCircle(letradius): println("(radius)") } } varfigure=Figure.Rectangle(10,20) printFigure(figure) varfigure1=Figure.Circle(20) printFigure(figure1) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |