重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇内容主要讲解“如何使用swift枚举定义”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用swift枚举定义”吧!
创新互联是一家专业提供定襄企业网站建设,专注与网站建设、成都网站建设、HTML5、小程序制作等业务。10年已为定襄众多企业、政府机构等服务。创新互联专业网站制作公司优惠进行中。
//枚举定义 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枚举定义”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!