enum关联值
优质
小牛编辑
130浏览
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