【问题标题】:Creating switch statement gives me error [duplicate]创建switch语句给我错误[重复]
【发布时间】:2015-09-01 04:19:46
【问题描述】:

我有一个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")
}

但我收到以下错误:

在类型'myViewController.Collection!'中找不到枚举案例'Second'

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

【问题讨论】:

  • 尝试完全解析范围。你在哪里定义了枚举?

标签: ios swift enums switch-statement


【解决方案1】:

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

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

原因是隐式展开的myCollection 不是Collection 类型,而是实际上是Collection! 类型。

【讨论】:

  • 在 switch 中将 myCollection 转换为 Collection:switch myCollection as Collection
  • 您应该将最后一条评论添加到您的答案中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-21
  • 1970-01-01
  • 2014-03-05
  • 1970-01-01
  • 2017-03-19
  • 1970-01-01
相关资源
最近更新 更多