麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

Swift優雅的實現枚舉的定義及使用

2019-11-14 18:15:42
字體:
來源:轉載
供稿:網友

1、枚舉是用來表示值的“類型”。


2、定義枚舉類型“FamilyRelationshipType”

enum FamilyRelationshipType {    case GrandFather    case GrandMother    case Father    case Mother    case Brother    case Sister    case Son    case Daughter}

3、使用枚舉,指定該成員與其他成員的關系:

struct FamilyMember {    var name: String    var relationshipType: FamilyRelationshipType        init(name: String, relationshipType: FamilyRelationshipType) {        self.name = name        self.relationshipType = relationshipType    }}let sister = FamilyMember(name: "Jacky", relationshipType: FamilyRelationshipType.Sister)let brother = FamilyMember(name: "Jack", relationshipType: FamilyRelationshipType

4、指定值定義枚舉:

enum FamilyRelationshipType: Int {    case GrandFather = 400    case GrandMother = 500    case Father = 600    case Mother = 700    case Brother = 800    case Sister = 900    case Son = 1000    case Daugther = 1100}

5、Switch中使用枚舉實例:

static func giftFor(member: FamilyMember) -> String {    switch (member.relationshipType) {    case .GrandFather:        return "Book"    case .GrandMother:        return "Sweater"    case .Father:        return "Shirt"    case .Mother:        return "Flowers"    default:        return "Choclates"    }}

6、Swift 中把每個枚舉與它的值聯合起來。

enum FamilyRelationshipType {    case GrandFather(age: Int)    case GrandMother(age: Int)    case Father(age: Int)    case Mother(age: Int)    case Husband(age: Int)    case Wife(age: Int)    case Brother(age: Int)    case Sister(age: Int)    case Son(age: Int)    case Daugther(age: Int)}

完整實例,根據家庭成員的年齡大小來決定具體的禮物:

enum FamilyRelationshipType {    case GrandFather(age: Int)    case GrandMother(age: Int)    case Father(age: Int)    case Mother(age: Int)    case Husband(age: Int)    case Wife(age: Int)    case Brother(age: Int)    case Sister(age: Int)    case Son(age: Int)    case Daugther(age: Int)        func gift() -> String {        switch(self) {        case .Brother(let age):            if age > 10 {                return "video games"            } else {                return "toys"            }        case .GrandFather:            return "Book"        case .GrandMother:            return "Sweater"        case .Father:            return "Shirt"        case .Mother:            return "Flowers"        default:            return "Choclates"        }    }}struct FamilyMember {    var name: String    var relationshipType: FamilyRelationshipType        init(name: String, relationshipType: FamilyRelationshipType) {        self.name = name        self.relationshipType = relationshipType    }}

至此完整的Swift下的枚舉定義使用完成,順便推薦一下個人ios開發小站http://www.iosask.com


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲精品v天堂中文字幕 | 在线天堂中文在线资源网 | 国产无限资源在线观看 | 毛片在线免费观看完整版 | 久久综合精品视频 | 9999在线视频| 免费在线看a | 蜜桃欧美性大片免费视频 | 综合在线一区 | 日韩视| 97久久人人超碰caoprom | 国产精品国产三级国产在线观看 | 久久福利国产 | 久久亚洲国产精品 | 国产亚洲美女精品久久久2020 | 免费色片| 欧美中文字幕在线视频 | av电影在线免费 | 久久草在线视频国产 | 偿还电影免费 | 久久精品视频16 | 羞羞答答www网站进入 | av黄色片网站 | 国产资源在线观看视频 | 免费人成年短视频在线观看网站 | 午色影院| 成人毛片免费 | 久久tv免费国产高清 | 欧美日韩一区,二区,三区,久久精品 | 日本s级毛片免费观看 | 一本色道久久99精品综合蜜臀 | 免费在线看黄 | 国产啊v在线观看 | 亚洲少妇诱惑 | 久久精品一区二区三区国产主播 | 操操操操操 | 久久噜噜噜精品国产亚洲综合 | 一区二区高清视频在线观看 | 国产一区视频在线免费观看 | 成人在线网站 | 在线成人一区二区 |