目录

enum关联值

优质
小牛编辑
115浏览
2023-12-01

enum关联值

  • 可以定义Swift枚举来存储任意给定类型的关联值, 如果需要的话不同枚举成员关联值的类型可以不同
enum BarCode {
    case upc(Int, Int, Int, Int)
    case qrCode(String)
}

var productBarCode1 = BarCode.upc(8, 123, 234, 43)
print(productBarCode1)
var productBarCode2 = BarCode.qrCode("二维码")
print(productBarCode2)

输出结果:

upc(8, 123, 234, 43)
qrCode("二维码")
  • 配合switch的值绑定
enum BarCode {
    case upc(Int, Int, Int, Int)
    case qrCode(String)
}

var productBarCode = BarCode.upc(8, 123, 234, 43)

switch productBarCode {
case .upc(let numberSystem, let manuFacturer, let product, let check):
    print("UPC: \(numberSystem), \(manuFacturer), \(product), \(check)")
case .qrCode(let qrCodeValue):
    print("QRCode: \(qrCodeValue)")
}

输出结果:

UPC: 8, 123, 234, 43

下一篇 - enum 遍历