SWIFT Enumeration(1)

本文介绍了Swift语言中枚举的定义及使用方式,包括基础枚举类型、带关联值的枚举以及如何在枚举中定义方法等内容。

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() 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值