您好,登錄后才能下訂單哦!
本篇內容主要講解“如何使用swift枚舉定義”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何使用swift枚舉定義”吧!
//枚舉定義 enum CompassPoint { case north case south case east case west } //常配合switch case使用 let directionToHead = CompassPoint.south switch directionToHead { case .north: print("Lots of planets have a north") case .south: print("Watch out for penguins") case .east: print("Where the sun rises") case .west: print("Where the skies are blue") } /* Watch out for penguins */
//枚舉遍歷 enum Planet: CaseIterable { case mercury, venus, earth, mars, jupiter, saturn, uranus, neptune } for planet in Planet.allCases { print(planet) } /* mercury venus earth mars jupiter saturn uranus neptune */
//關聯值 enum Barcode { case upc(Int, Int, Int, Int) case qrCode(String) } func showBarcode(_ barcode: Barcode) { switch barcode { case .upc(let numberSystem, let manufacturer, let product, let check): print("UPC:\(numberSystem), \(manufacturer), \(product), \(check)") case .qrCode(let productCode): print("QR Code: \(productCode)") } } var productBarcode = Barcode.upc(1, 1, 1, 1) showBarcode(productBarcode) //UPC:1, 1, 1, 1 productBarcode = Barcode.qrCode("hello") showBarcode(productBarcode) //QR Code: hello
//原始值 enum ASCIIControlCharacter: Character { case tab = "\t" case lineFeed = "\n" case carriageReturn = "\r" }
//從原始值初始化 enum RoleStatus: Int,CaseIterable { case run case jump case walk case idle } for i in 0...RoleStatus.allCases.count { print(RoleStatus(rawValue: i)) } /* Optional(__lldb_expr_8.RoleStatus.run) Optional(__lldb_expr_8.RoleStatus.jump) Optional(__lldb_expr_8.RoleStatus.walk) Optional(__lldb_expr_8.RoleStatus.idle) nil */
//遞歸枚舉 (5+4)*2 indirect enum ArithmeticExpression { case number(Int) case addition(ArithmeticExpression, ArithmeticExpression) case multiplication(ArithmeticExpression, ArithmeticExpression) } let five = ArithmeticExpression.number(5) let four = ArithmeticExpression.number(4) let sum = ArithmeticExpression.addition(five, four) let product = ArithmeticExpression.multiplication(sum, ArithmeticExpression.number(2)) func evaluate(_ expression: ArithmeticExpression) -> Int { switch expression { case let .number(value): return value case let .addition(left, right): return evaluate(left) + evaluate(right) case let .multiplication(left, right): return evaluate(left) * evaluate(right) } } print(evaluate(product)) //18
到此,相信大家對“如何使用swift枚舉定義”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。