千家信息网

如何使用swift枚举定义

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,本篇内容主要讲解"如何使用swift枚举定义",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何使用swift枚举定义"吧!枚举定义//枚举定义enum C
千家信息网最后更新 2025年01月21日如何使用swift枚举定义

本篇内容主要讲解"如何使用swift枚举定义",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"如何使用swift枚举定义"吧!

枚举定义

//枚举定义enum CompassPoint {    case north    case south    case east    case west}//常配合switch case使用let directionToHead = CompassPoint.southswitch 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, 1productBarcode = 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 */

递归枚举(indirect)

//递归枚举 (5+4)*2indirect 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枚举定义"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0