2015-04-20 61 views
0

出於某種奇怪的原因,這條線:致命錯誤:意外發現零而展開的可選值傾斜問題]

var x = motionManager.accelerometerData.acceleration.x 

保持拋出這樣的錯誤:

fatal error: unexpectedly found nil while unwrapping an Optional value 

這是其餘的代碼:

 var motionManager = CMMotionManager() 

    if motionManager.accelerometerAvailable == true { 
     motionManager.startAccelerometerUpdates() 
     var x = motionManager.accelerometerData.acceleration.x 
     NSLog("X: %i",x) 
    } 

回答

0

在硬件報告任何加速度計數據之前需要一些時間,所以我相信這就是你得到這個錯誤的原因。您可能需要使用startAccelerometerUpdatesToQueue:withHandler,並在處理程序中處理收到的數據。

+0

我將如何實現這個到我的代碼?我從來沒有使用加速度計。 –

0

var x = motionManager.accelerometerData.acceleration.x正在拋出錯誤,因爲motionManager.accelerometerData是可選的,它可以爲零。如果它存在,請檢查該值並將其解包,否則當其零時不要嘗試解包可選項。

相關問題