2014-11-14 29 views
0

在我的遊戲中,當玩家遇到敵人時,我稱之爲loseGame()函數。它崩潰與錯誤的view!.presentScene(scene)行:SpriteKit:查看有時無,並導致崩潰

"unexpectedly found nil while unwrapping an optional value".

混亂的部分是它崩潰隨機很少,出於某種原因認爲是零隻是有時,我也沒有其他的代碼觸摸視圖。想法?

func loseGame() { 
    let scene = GameScene(size: size) 
    scene.scaleMode = .AspectFill 
    view!.presentScene(scene)  // "unexpectedly found nil while unwrapping an optional value". 
} 

回答

0

將它換成if聲明,並在view爲零時記錄。看看你的日誌,並嘗試建立一個模式,然後找到問題並修復它:

func loseGame() { 
    let scene = GameScene(size: size) 
    scene.scaleMode = .AspectFill 
    if view != nil 
    { 
     view!.presentScene(scene)  // "unexpectedly found nil while unwrapping an optional value". 
    } 
    else 
    { 
     NSLog("View is nil") 
    } 
}