美文网首页
Swift--- 枚举和结构体

Swift--- 枚举和结构体

作者: 彬至睢阳 | 来源:发表于2018-12-02 10:26 被阅读0次

    使用枚举创建枚举。与类和所有其他命名类型一样,枚举可以具有与它们相关联的方法。

         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 = ace.rawValue

         默认情况下,Swift分配的原始值从0开始,每次递增1个,但是您可以通过显式地指定值来改变这种行为。在上面的示例中,Ace被显式地赋予了一个原始值1,其余的原始值按顺序分配。还可以使用字符串或浮点数作为枚举的原始类型。使用rawValue属性访问枚举案例的原始值。

         使用init?(rawValue:)初始化器从原始值生成枚举的实例。它返回匹配原始值的枚举用例,如果没有匹配秩,则返回nil。

         使用struct创建一个结构。结构支持许多与类相同的行为,包括方法和初始化器。结构和类之间最重要的区别之一是,结构总是在代码中传递时被复制,但是类是通过引用传递的。

         struct Card {

         var rank: Rank

         var suit: Suit

         func simpleDescription() -> String {

         return "The \(rank.simpleDescription()) of \(suit.simpleDescription())"

         }

         }

         let threeOfSpades = Card(rank: .three, suit: .spades)

         let threeOfSpadesDescription = threeOfSpades.simpleDescription()

    相关文章

      网友评论

          本文标题:Swift--- 枚举和结构体

          本文链接:https://www.haomeiwen.com/subject/ypmwxqtx.html