创建 switch 语句给我错误

Creating switch statement gives me error

我有一个 enum,里面有 4 个物体。然后我将一个传递给 variable。我正在尝试创建一个 switch statement 以查看传递了哪个对象。这是我的代码:

enum Collection:Int{
        case First=1, Second, Third, Fourth
}
var myCollection : Collection!

// Later on...
myCollection = Collection.Second

// Later on...
switch self.myCollection {
    case .Second:
    println("Second")
}

但我收到以下错误:

Enum case 'Second' not found in type 'myViewController.Collection!'

我做错了什么,我该如何解决?

有点奇怪,错误消息似乎不是特别有用。修复仍然是以下之一。

  1. var myCollection : Collection! 更改为 var myCollection : Collection
  2. switch myCollection as Collection 或缩写 switch myCollection!

原因是隐式展开的 myCollection 不是 Collection 类型,而是 Collection!.

类型