码迷,mamicode.com
首页 > 移动开发 > 详细

iOS-swift-枚举和结构体

时间:2017-06-18 18:15:10      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:引用   默认   cas   return   switch   ret   努力   iam   ted   

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-枚举和结构体

标签:引用   默认   cas   return   switch   ret   努力   iam   ted   

原文地址:http://www.cnblogs.com/mengdongsky/p/7040950.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!