Swift中枚举的格式如下:
enum 枚举名{
枚举的定义
}
1、成员值
在枚举类型中定义一组成员,与C和Object-C中枚举的主要作用是一样的,在C和Object-C中的成员类型是整数类型,因此在C和Object-C中枚举类型就是整数类型,而在Swift中,枚举的成员值默认类型下不是整数类型,枚举的成员值默认情况下不是整数类型,以下代码是枚举的示例:
enum WeekDays{
case Monday
case Tuesday
case Wednesday
case Thursday
case Friday
}
其中定义了五个成员值:Monday....Friday,这些值都不是整数类型
多个成员值在同一行,用逗号隔开,如下所示:
enum WeekDays{
case Monday,Tuesday,Wednesday,Thursday,Friday
}
示例代码如下:
var day = WeekDays.Friday
day = WeekDays.Wednesday
day = Monday
func writeGreeting(day : WeekDays){
switch day{
case Monday:
println("星期一好")
case Tuesday:
println(“星期二好”)
case Wednesday:
println(“星期三好”)
case Thursday:
println(“星期四好”)
case Friday:
println(“星期五好”)
}
}
2、原始值
可以为枚举每个成员提供特定类型的默认值,可以为枚举类型提供原始值声明,这些原始值类型可以是:字符、字符串、整数和浮点数等
原始值枚举的语法如下:
enum 枚举名:数据类型{
case 成员名=默认值
}
示例:
enum WeekDays:Int{
case Monday = 0
case Tuesday=1
case Wednesday=2
case Thursday=3
case Friday=4
}
每个成员赋值,只要是Int类型就可以,但是每个分支不能重复,
简单写法,只需原始第一个成员赋值即可,后面的成员会依次加1
enum WeekDays:Int{
case Monday =0,Tuesday,Wednesday,Thursday,Friday
}
从成员到原始值
let friday = WeekDays.friday.rawValue
从原始值到成员
let thursday = WeekDays(rawValue:4)
3、相关值
在Swift中除了可以定义一组相关值,它有点类似于C中的联合类型
下面有一个枚举类型的声明:
enum Figure{
case Rectangele(Int,Int)
case Circle(Int)
}
枚举类型Figure有2个相关值,Rectangle 和 Circle,这2个是与Figure有关联的相关值,只能是其中一个相关值。
示例
func printFigure(figure:Figure){
switch figure{
case .Rectangle(let width,let height):
println("\(width):\(height)")
case Circle(let radius):
println("\(radius)")
}
}
var figure = Figure.Rectangle(10,20)
printFigure(figure)
var figure1 =Figure.Circle(20)
printFigure(figure1)
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。