2015-07-12 37 views
0

當我在GameViewController.swift以下代碼:線程1個信號SIGABRT碰撞鑄造的UIView到SKView

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)

還有類似的問題提出,但他們的解決方案是在故事板。 我沒有故事板,只是代碼。

+0

你應該提供你得到的錯誤 –

+0

儘管這不是一個錯誤。這是一個崩潰:無法將類型'UIView'(0x1079b7e88)的值轉換爲'SKView'(0x106b79718)。 –

回答

3

由於您的UIView(即您的self.view)實際類型不是SKView,您將會崩潰。所以你不能貶低爲SKView,因爲它不是SKView。所以無論你在哪裏創建ViewController的視圖,你都必須爲它分配一個UIView。你說你不使用故事板,所以我假設你以編程方式創建ViewController。如果是這種情況,您需要手動爲ViewController的視圖分配一個SKView。這通常在ViewController的loadView方法中完成。你可以看到這樣一個例子:here

+0

謝謝!鏈接也很有幫助。你在哪找到你在另一篇文章的答案中提到的Apple文檔? –

+0

我已經超越了崩潰,但現在似乎並沒有出現。我添加currentView.backgroundColor = UIColor.blueColor(),但屏幕不會變成藍色。 –

相關問題