Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 致命错误:在展开可选值CMMotionManager时意外发现nil_Swift_Cmmotionmanager - Fatal编程技术网

Swift 致命错误:在展开可选值CMMotionManager时意外发现nil

Swift 致命错误:在展开可选值CMMotionManager时意外发现nil,swift,cmmotionmanager,Swift,Cmmotionmanager,试图在swift中实现此教程,但不幸的是我 fatal error: unexpectedly found nil while unwrapping an Optional value 在线 let acceleration :CMAcceleration = self.motionManager!.accelerometerData.acceleration 有谁能帮我解释一下为什么会这样 请从self下载场景文件。motionManager为零,您尝试打开一个nil值。始终通

试图在swift中实现此教程,但不幸的是我

  fatal error: unexpectedly found nil while unwrapping an Optional value
在线

    let acceleration :CMAcceleration = self.motionManager!.accelerometerData.acceleration
有谁能帮我解释一下为什么会这样


请从

self下载场景文件。motionManager
为零,您尝试打开一个
nil
值。始终通过使用可选绑定检查
nil
来打开可选值,或使用可选链接

if let motionManager = self.motionManager {
   if let accelerometerData = motionManager.accelerometerData {
      let acceleration :CMAcceleration = accelerometerData.acceleration
   }
 }
 else {
   print("motion manager is nil")
 }
如果您已初始化
motionManager
,则应检查代码

编辑

我查过文件了

返回加速计数据的最新样本,如果没有,则返回零 可获得的 */

var accelerometerData: CMAccelerometerData! { get }

因此,您还需要为
accelerometerData
检查nil。它可以是
nil
,并且隐式包装可选,因此当数据不可用时它将崩溃。

@Ali请看一看