2017-02-03 61 views
1

我懷疑下面的函數,這是我在我的GameScene類,以管理加速度計的投入使用,是保持我的場景從deinitializing當我過渡到另一個場景:保留週期中關閉涉嫌

class GameScene: SKScene { 
    let motionManager = CMMotionManager() 
    var xAcceleration = CGFloat(0) 
    // Some stuff 
    // override func didMove(to: .... 

    func setupCoreMotion() { 
     motionManager.accelerometerUpdateInterval = 0.2 
     let queue = OperationQueue() 
     motionManager.startAccelerometerUpdates(to: queue, 
               withHandler: 
      { 
       accelerometerData, error in 
       guard let accelerometerData = accelerometerData else { 
        return 
       } 
       let acceleration = accelerometerData.acceleration 
       self.xAcceleration = (CGFloat(acceleration.x) * 0.75) + 
        (self.xAcceleration * 0.25) 
     }) 
    } 
} 

這可能是因爲自我捕捉,但如果是這樣的話,我不知道該把「[無主自我]」放在「捕捉列表」中的位置。

回答

2

你應該把它accelerometerData, error in之前這樣[unowned self] accelerometerData, error in

+0

如果它幫助請接受的答案。謝謝! –

+0

謝謝,它的工作原理,最終我的遊戲場景被取消初始化! – gionti