作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个带有一些case
的enum
,还有一个包含这个enum
实例的数组,例如:
enum MyEnum {
case foo(Int)
case bar(Int)
case baz(Int)
}
let myArray = [
MyEnum.foo(1),
MyEnum.bar(2),
MyEnum.baz(3)
]
然后,我需要比较这个数组的确定元素是 foo
、baz
还是 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/
我是一名优秀的程序员,十分优秀!