swift 枚举

来源:互联网 发布:淘宝促销手段有哪些 编辑:程序博客网 时间:2024/05/17 01:51

 swift  枚举使用enum 关键字创建 。和类以及其他所有命名类一样,在枚举中可以包含方法:


 enum Rank:Int{

        case Ace = 1

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

        case Jack,Queen,King

        func simpleDescription()->String{

            switch self{

            case.Ace:

                return "ace"

            case.Jack:

                return "jack"

            case.Queen:

                return "queen"

            case.King:

                return "king"

            default:

                return String(self.rawValue)

            }

 }

 

       

        let ace = Rank.Ace

        let aceRawValue = Rank.Ten.rawValue//原始值为 10

        

        print("ace\(ace\(aceRawValue) ")

        

        if let convertedRank =Rank(rawValue:11){//通过Rank(rawValue:)获取枚举值

        

            let description = convertedRank.simpleDescription()

            print("\(description)")// jack

        }


    在上面的演示代码中,因为枚举原始值是Int类型,所以只需要设置第一个原始值即可,剩下的原始值会按照顺序赋值。另外,也可以使用字符串或者浮点数作为枚举的原始值。通过rawValue 可以实现枚举值和原始值的转换。
    在swift语言中,枚举的成员值是实际值,并不是原始值的另一种表达方法。实际上,如果原始值没有意义,则不需要进行任何设置

 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

        

        print("\(hearts)")//Hearts

        

        let heartDescription = hearts.simpleDescription()

        print("\(heartDescription)")//hearts




     


0 0
原创粉丝点击