swift 我如何在if中捕获枚举值?[duplicate]

ctrmrzij  于 2023-03-07  发布在  Swift
关注(0)|答案(1)|浏览(142)
    • 此问题在此处已有答案**:

How to access a Swift enum associated value outside of a switch statement(6个答案)
5天前关闭。
我想在if语句中捕获与枚举大小写关联的值,下面是我的代码:

enum TestEnum: Equatable {
    case a, b(value: String)
}

func f35() {
    let my: TestEnum = TestEnum.b(value: "Hello")

    if my == .b(value: let string) {
        print(string)
    }
    
}

Xcode并没有帮助我解决这个问题。

4ioopgfo

4ioopgfo1#

您可以使用switch语句捕获枚举值,然后在if语句中使用该switch语句,如下所示。

enum TestEnum: Equatable {
case a, b(value: String)
}

func f35() {
let my: TestEnum = TestEnum.b(value: "Hello")

switch my {
case .b(let string):
    print(string)
    if string == "Hello" {
        // do something
    }
default:
    break
}
}

相关问题