我正在使用Swift enum。我的enum看起来像这样:

enum DataStructures<T> {
    case element(value: T)
    case elements(value: [T])
}

然后像这样初始化DataStructures:
DataStructures.element(value: resultElement)
resultElementResultElement类型:
resultElement: ResultElement

我的问题是:是否有一种方法可以从枚举的resultElement中提取case的值,然后将DataStructures.element(value: resultElement)作为参数传递给某个方法,然后将该对象取回?该参数也看起来像这样:
data: DataStructures<ResultElement>

感谢您的回答。

最佳答案

使用模式匹配:

if case .element(let value) = someParameter {
    print(value) // or do whatever you want with it
} else {
    // do some other thing in the case of the parameter not being .element
}

07-26 01:25