美文网首页
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关联值

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