【发布时间】:2015-10-24 09:00:50
【问题描述】:
我不知道出了什么问题,但是下面的代码在 switch 语句中给了我很多错误:
enum GameState {
case Start
case Tutorial
case Play
case ShowingScore
case GameOver
}
在 GameScene 类中:
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
for touch: AnyObject in touches {
let location = touch.locationInNode(self)
switch GameState {
case .Start: break
case .Tutorial: break
case .Play:
beginningTouchPosition = location
tappedForBird = true
break
case .ShowingScore: break
case .GameOver: break
}
}
}
我得到的错误信息是:
- 类型名称后的预期成员名称或构造函数调用(这在 switch GameState 行中)
- 在“GameState”类型中找不到枚举案例“Start”(我不仅为 .Start 找到了这个,而且为每个 GameState 案例都找到了这个)
【问题讨论】:
-
你不应该在 switch 块中放一个变量而不是数据类型吗?
-
我很确定我以前是这样用过的,而且效果很好..
-
您可能有一个与数据类型同名但大小写不同的变量(例如
gameState与GameState的实例一样) -
你是对的!我在 GameScene 类的开头添加了 'var gameState = GameState.Start',现在可以使用了,谢谢 :)
标签: swift swift2 xcode7 swift2.1