这是我第一次使用这种枚举,枚举和关联的值类型,我需要根据对象的类型制作一个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
。
有什么想法吗?
答案 0 :(得分:4)
您可以使用let
来抓取 associated values :
switch anObject {
case .foo(let fooObj):
...
}
如果您不关心它们,请或所有:
switch anObject {
case .foo:
...
}
答案 1 :(得分:0)
您可以使用下划线表示您对相关类型不感兴趣:
SELECT COUNT(SC.NUMBER_C)
FROM FNQP2PORTAL.SA.SEC_CAS SC,
FNQP2HQ.dbo.Classes C,
FNQP2HQ.dbo.Entities E
WHERE C.ID = E.ClassID
AND C.Reference = 'Assembly Case'
and not exists(
select 1 from FNQP2HQ.dbo.Entities E1
ON SC.NUMBER_C = E1.Reference)