【发布时间】:2017-12-09 05:07:15
【问题描述】:
这是我第一次使用这种枚举,带有关联值类型的枚举,我需要根据对象的类型进行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。
有什么想法吗?
【问题讨论】:
-
除了真假之外,还有其他东西被返回吗?如果答案是否定的,那么我现在将使用
isKind(of:)或isMember(of:)作为您的课程,您需要在 .foo 中填写您要使用的课程实例,这可能不是您想要的 -
Swift Language Guide: Enumerations 请阅读关联值部分。
标签: swift enums switch-statement associated-value