带有类的枚举上的S​​wift Switch案例

时间:2017-07-05 13:33:39

标签: swift enums switch-statement

这是我第一次使用这种枚举,枚举和关联的值类型,我需要根据对象的类型制作一个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

有什么想法吗?

2 个答案:

答案 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)