gpt4 book ai didi

swift - 如何在一行中获取枚举的案例?

转载 作者:可可西里 更新时间:2023-11-01 00:21:16 26 4
gpt4 key购买 nike

我有一个带有一些caseenum,还有一个包含这个enum实例的数组,例如:

enum MyEnum {
case foo(Int)
case bar(Int)
case baz(Int)
}

let myArray = [
MyEnum.foo(1),
MyEnum.bar(2),
MyEnum.baz(3)
]

然后,我需要比较这个数组的确定元素是 foobaz 还是 baz,例如:

myArray.filter { $0 == .foo } // not work, and should need return [MyEnum.foo(1)]

我可以使用开关:

myArray.filter {
switch $0 {
case .foo(_):
return true
default:
return false
}
} // work, and return [MyEnum.foo(1)]

但是,我想要一个不那么冗长的解决方案,并了解更多关于 enum 的知识。

最佳答案

我能想到的最短的是:

let result = myArray.filter { if case .foo = $0 { return true } else { return false } }

关于swift - 如何在一行中获取枚举的案例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42545663/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com