SWIFT Enumeration(1)

简介: Swift中定义Enumeration跟其它语言挺类似的,看如下定义一个星期的Enumeration enum Day:Int{     case Monday = 1, Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday } Monday赋值...

Swift中定义Enumeration跟其它语言挺类似的,看如下定义一个星期的Enumeration

enum Day:Int{

    case Monday = 1, Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday

}

Monday赋值为1其它值则按顺序自动赋值,也是一种比较简便的写法,当然也可以为每个属性赋值

 

enum Day:Int{

    case Monday = 1

    case Tuesday = 2,

    case Wednesday = 3,Thursday,Friday,Saturday,Sunday

}

let myday = Day.Sunday //自动推测为Day类型的Enumeration

let dayNumber = Day.Sunday.rawValue //值为7

 

以下定义一个String类型的Enumeration

enum Period:String{

    case Morning = "Morning"

    case Noon = "Noon"

    case AfterNoon = "Afternoon"

    case Night = "Night"

    case MidNight = "MidNight"

}

 

Enumeration还有一个很强大的功能叫关值

enum AgeStatus{

    case Legal

    case NoOldEnought(Int)  //关联值

    

    init(){

        self = Legal //default value

    }

    

    var description:String{

        switch self{

        case Legal:

            return "Age is legal"

        case NoOldEnought(let a):

            return "Age \(a) is illegal"

        default:

            return "Age is illegal"

        }

    }

}

var sheAgeStatus = AgeStatus()

sheAgeStatus.description  //Age is legal

sheAgeStatus = AgeStatus.NoOldEnought(10)

sheAgeStatus.description // return Age 10 is illegal

 

Enumeration中还可以定义方法,在上面添加以下方法代码:

func reportStatus() ->String{

        return self.description

 }

调用方法:

sheAgeStatus.reportStatus() 

目录
打赏
0
0
0
0
2
分享
相关文章
Swift 语言:什么是 Swift 的泛型(Generics)?
Swift 语言:什么是 Swift 的泛型(Generics)?
102 0
|
4月前
|
Swift 泛型-关联类
Swift 泛型-关联类
33 1
|
4月前
|
Swift 泛型
Swift 泛型
51 2
|
4月前
|
Swift 泛型-类型约束
Swift 泛型-类型约束
48 1
|
10月前
|
【Swift专题】聊聊Swift中的属性
属性是面向对象语言中非常基础的语法特性,我们讲属性,实际上就是讲与类本身或类实例关联的数据。在面向对象的语言中,类作为重要的数据结构会封装数据与函数,类中的函数我们通常称其为方法,而数据则就是属性。
111 1
Swift中的可选类型
Swift中的可选类型
60 1
Swift - swift3.0中代理方法的使用
Swift - swift3.0中代理方法的使用
116 0
Swift - 可选类型
Swift - 可选类型
112 0