尝试在swift中实现这个raywenderlich tutiorial,但不幸的是我
fatal error: unexpectedly found nil while unwrapping an Optional value
在线
let acceleration :CMAcceleration = self.motionManager!.accelerometerData.acceleration
任何身体都可以帮助它为什么会出现
请从here
下场景文件答案 0 :(得分:0)
self.motionManager
为nil并且您尝试打开nil
值。始终通过使用可选绑定检查nil
或使用可选链接来解包可选值。
if let motionManager = self.motionManager {
if let accelerometerData = motionManager.accelerometerData {
let acceleration :CMAcceleration = accelerometerData.acceleration
}
}
else {
print("motion manager is nil")
}
如果您已初步motionManager
,则应检查您的代码。
修改强>
我检查了文档
返回加速度计数据的最新样本,如果没有,则返回nil 可用。 * /
var accelerometerData: CMAccelerometerData! { get }
所以你还需要为accelerometerData
检查nil。它可以是nil
并且它是隐式包装的可选项,因此当数据不可用时会崩溃。