Swift--- 枚举和结构体

2018-12-02  本文已影响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()

上一篇下一篇

猜你喜欢

热点阅读