作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
这是我第一次使用这种枚举,具有关联值类型的枚举,我需要根据对象的类型制作一个 switch
语句,我无法做到,这是枚举:
enum TypeEnum {
case foo(FooClass)
case doo(DooClass)
case roo(RooClass)
}
我的对象有一个 TypeEnum
类型的变量,现在我需要检查枚举中的对象类型:
if let anObject = object as? TypeEnum {
switch anObject {
case .foo(???):
return true
...
default:
return false
}
}
我不知道用什么代替 ???
。 Xcode 告诉我放一些东西,但我只想打开 .foo
。
有什么想法吗?
最佳答案
您可以使用 let
来捕获 associated values 为此:
switch anObject {
case .foo(let fooObj):
...
}
或者如果您根本不关心它们,则根本不:
switch anObject {
case .foo:
...
}
请务必查看the Swift Programming Language book了解更多详情。
关于带有类的枚举上的 Swift Switch 大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44927770/
我是一名优秀的程序员,十分优秀!