Swift 之 枚举

来源:互联网 发布:青岛邮箱数据 编辑:程序博客网 时间:2024/06/05 06:04

示例 一:

 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)

        }


0 0
原创粉丝点击