iOS-swift-枚舉和結構體
阿新 • • 發佈:2017-06-18
枚舉 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-枚舉和結構體