我有两个View Controllers,一个是GameViewController(这个是我开始一个新游戏项目时由xcode创建的)和MenuViewController。最后一个向用户显示一个“开始游戏”按钮。按下按钮时,应显示GameViewController视图。但是,程序崩溃而是标题中的消息。
在'MenuViewController'我有
func startGameButtonAction(sender:UIButton!) {
let gameViewController = GameViewController()
self.presentViewController(gameViewController, animated: true, completion: nil)
}
在'GameViewController'我有
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(true)
let skView = self.view as! SKView // crash occurs here
}
我需要skView作为SKView,因为GameViewController提供了一个SKScene。
答案 0 :(得分:3)
如果您是用户故事板,则可以将View的自定义类设置为SKView,如下所示:
然后:
答案 1 :(得分:1)
这是因为color_map = {
0: 'k',
1: 'orange
}
plt.scatter(x, y, c=[color_map.get(v, 'cyan') for v in z])
不是self.view
。如果你在Interface Builder中检查视图,你会发现它可能只是一个通用的SKView
。
此外,您可以在崩溃的行上设置断点,然后在运行时可以打印UIView
以确认它是什么类。