微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

枚举

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)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐