Swift 之 枚举

示例 一:

 enum Rank:Int

        {

            case Ace = 7

            case Two,Three,Four,Five,Six,Seven,Eight,Nine,Ten

            case Jack , Queue,King

            

            func simpleDescription()->String

            {

                switch self

                    {

                case .Ace:

                    return "ace"

                case .Jack:

                    return "jack"

                case .Queue:

                    return "queue"

                case .King:

                    return "king"

                default :

                    

                    return String(self.toRaw())

                }

            }

        }

        

        let three = Rank.Ace

        

        println(three)

        

        let aceRawValue = three.toRaw()

        

        println(aceRawValue)

        

        

        let ace = Rank.King

        

        println(ace.simpleDescription())


        println(Rank.fromRaw(8))

        

        if let convertedRank = Rank.fromRaw(8) //  枚举数

        {

            let threeDescription = convertedRank.simpleDescription()

            

            println(threeDescription)

            println("ok")

        }

        else

        {

            println("no")

        }

        

        

        

示例 二:        

        enum Suit {

            case Spades, Hearts, Diamonds, Clubs

            func simpleDescription() -> String {

                switch self {

                case .Spades:

                    return "spades"

                case .Hearts:

                    return "hearts"

                case .Diamonds:

                    return "diamonds"

                case .Clubs:

                    return "clubs"

                }

            }

        }

        let hearts = Suit.Hearts

        let heartsDescription = hearts.simpleDescription()




示例 三:

enum ServerResponse

{

            case Result(String, String)

            case Error(String)

}

        

        let success = ServerResponse.Result("6:00 am", "86:09 pm")

        let failure = ServerResponse.Error("Out of cheese.")


        

        switch success

            {

        case let .Result(sunrise, sunset):

            let serverResponse = "Sunrise is at \(sunrise) and sunset is at \(sunset)."

            println(serverResponse)

        case let .Error(error):

            let serverResponse = "Failure...  \(error)"

            println(serverResponse)

        }



示例 四:

enum OptionalValue<T>

 {

            case None

            case Some(T)

  }

     

        var possibleInteger: OptionalValue<Int> = .None

        println(possibleInteger)

        

        

        let aa = OptionalValue<Int>.None

        

        let bb = OptionalValue<Int>.Some(5)

        

        var cc:OptionalValue<Int> = .Some(7)


            cc = .Some(100);

        

        switch cc

            {

        case let .None:

            let serverResponse = "Sunrise is at ."

            println(serverResponse)

        case let .Some(T):

            let serverResponse = "Failure...  \(T)"

            println(serverResponse)

        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值