1. 程式人生 > >iOS-swift-枚舉和結構體

iOS-swift-枚舉和結構體

枚舉 queen def esc cas int 最大 log style

1.枚舉

使用關鍵字 enum 創 建枚舉。

枚舉默認起始值為 0,可以自定義起始值。

在枚舉中可以定義方法,和類中定義的一樣。

使用關鍵字 rawValue 訪問當前枚舉的值。

    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

還有

    if let convertedRank = Rank(rawValue: 3) {
        let threeDescription = convertedRank.simpleDescription()
    }

還有

    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()

2 結構體

使用關鍵字 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()

恩,努力。

iOS-swift-枚舉和結構體