将UIView转换为SKView时,线程1信号SIGABRT崩溃

时间:2015-07-12 22:33:58

标签: ios swift uiview sprite-kit skview

我在GameViewController.swift中有以下代码:

override func viewDidLoad() {
    super.viewDidLoad()

    let scene: GameScene = GameScene()

    let currentView = self.view as! SKView
    currentView.showsFPS = true
    currentView.showsNodeCount = true

    currentView.presentScene(scene)
}

它在let currentView = self.view as! SKView.时崩溃,显示以下消息:

  

无法将'UIView'(0x1079b7e88)类型的值转换为'SKView'(0x106b79718)

提出了类似的问题,但他们的解决方案是在故事板中。 我没有故事板,只是代码。

1 个答案:

答案 0 :(得分:3)

您正在遭遇崩溃,因为您的UIView(即您的self.view)实际类型不是SKView。因此,您无法向SKView转发,因为它不是SKView。因此,无论您在何处创建ViewController视图,都必须为其分配UIView。你说你没有使用故事板,所以我假设你是以编程方式创建ViewController。如果是这种情况,您需要手动为ViewController的视图分配SKView。这通常在ViewController的loadView方法中完成。您可以看到此here

的示例
相关问题