iOS-swift-枚举和结构体

Posted 孟栋sky

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS-swift-枚举和结构体相关的知识,希望对你有一定的参考价值。

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-枚举和结构体的主要内容,如果未能解决你的问题,请参考以下文章

结构体共用体和枚举类型

Swift的闭包,枚举,类和结构体

枚举与结构体

C枚举,以及枚举和结构体的不同

C89:论结构体/枚举体/联合体的使用

C语言-枚举共用体