枚举定义了一组具有相关性的数据,如常量,字符串等,使开发者可以在代码中以一个安全的方式来使用这些值,以有助于提供代码的可读性。本节讲主要讲解枚举的定义,成员的定义,实例化对象,访问原始值等内容。
定义枚举
在Swift中,枚举可以分为两种:任意类型的枚举(没有指定数据类型);另一种是指定数据类型的枚举类型。以下就是这两种枚举类型的定义。
1.任意类型的枚举类型
任意类型的枚举就是没有指定数据类型的枚举,它的定义需要使用到关键字enum,其语法形式如下。
enum 枚举名称{
……
}
注意:枚举名称要符合标识符的名称规则。此时的枚举类型是一个具有任意类型的类型。
2.指定数据类型的枚举类型
指定数据类型的枚举类型也是使用enum关键字进行定义,但是要在枚举名称后面添加":"冒号遗迹数据类型。其定义形式如下
enum 枚举名称:数据类型{
……
}
eg:
以下将分别定义两个枚举类型,代码如下
enum NewEnum1{
}
enum NewEnum2:String{
}
在此代码中,NewEnum1枚举时没有指定数据类型的枚举,它是人意类型的枚举;NewEnum2枚举时一个字符串类型的枚举。
实例化枚举的对象
在使用枚举之前,首先要对枚举进行实例化。枚举的实例化的语法形式如下。
let/var 枚举对象名=枚举名称.成员名
或者是
枚举名称. 成员们
注意:枚举类型的实例化必须要使用成员,而不是其他。
eg:
以下将定义一个枚举类型,然后再进行实例话。代码如下。
enum num:Int{
case name1=1
case name2=2
case name3=3
}
eg:
let 枚举对象名=num.name3
或者
num.name3
访问枚举中成员的原始值
使用枚举匹配switch语句可以用来获取活着访问成员值,除此之外,Swift还提供了2个访问原始值的方法:一个是rawValue属性;另一个是rawValue()函数
1.rawValue
rawValue属性可以通过枚举中的成员对响应的原始值进行访问。其语法形式如下。
let/var 常量名/变量名=枚举名称.成员名称.rawValue
eg:
以下将使用rawValue属性实现原始值的访问。代码如下
enum Digital:Int{
case one=1
case two=2
case three=3
case four=4
case five=5
}
let onevalue=Digital.one.rawValue//访问成员one的原始值
print(onevalue)
let fivevalue=Digital.five.rawValue//访问成员five的原始值
print(fivevalue)
此时程序运行,会看到如下的结果。
1
5
2.fromRaw()
rawValue()函数正好与rawValue属性方法的功能相反。它的功能时通过原始值来获取成员。其语法形式如下。
let/var 常量名/变量名=枚举名称(rawValue:原始值)