美文网首页
Swift 5.x enum关联值

Swift 5.x enum关联值

作者: ShenYj | 来源:发表于2020-06-30 21:52 被阅读0次
  • 可以定义Swift枚举来存储任意给定类型的关联值, 如果需要的话不同枚举成员关联值的类型可以不同

e.g.

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

相关文章

  • Swift 5.x enum关联值

    可以定义Swift枚举来存储任意给定类型的关联值, 如果需要的话不同枚举成员关联值的类型可以不同 e.g. 输出结...

  • swift enum 关联值

    如果在swift中为枚举设置了关联值. 那么直接判断相等是错误的 要这样判断相等

  • Swift 5.x enum 原始值

    枚举成员可以用相同类型的默认值预先填充(称为原始值) e.g. 当在操作存储证书或字符串原始值枚举的时候, 不必显...

  • Swift Tips_Primer-3:枚举,结构体和类

    enum 是值类型, 基本语法 enum的使用 原始值(Raw Value)和关联值(Associate Valu...

  • Swift中Enum的使用姿势

    Swift的Enum类型可以存储值 enum iOSDeviceSystemType {case iPhone(S...

  • Swift中rawValue的作用

    rawValue 用于swift中的enum(枚举),用于取枚举项的原始值,例如: enum Category: ...

  • Swift Day03 枚举 可选项

    一、枚举 1. 枚举(enum)的基本写法? 2. 枚举(enum)的关联值(Associated Value)?...

  • Swift 5.x 递归 enum

    递归枚举是拥有另一个枚举作为枚举成员关联值的枚举.当编译器操作递归枚举时必须插入间接寻址层.你可以在声明枚举成员之...

  • swift mutating关键字

    在Swift中,包含三种类型struct, enum, class 其中struct和enum是值类型, clas...

  • 值类型和引用类型

    // 值类型和引用类型 // Swift 中 Int, Bool,struct, enum 是值类型,甚至 Str...

网友评论

      本文标题:Swift 5.x enum关联值

      本文链接:https://www.haomeiwen.com/subject/etpfqktx.html