gpt4 book ai didi

swift - "Can' t 展开可选。无 "and I can' t 找出原因

转载 作者:行者123 更新时间:2023-11-30 10:23:23 26 4
gpt4 key购买 nike

这会产生“ fatal error :无法解开Optional.None”,我似乎不明白为什么

var motionManager = CMMotionManager()
motionManager.accelerometerUpdateInterval = 0.2
motionManager.startAccelerometerUpdates()
var accelerationData = motionManager.accelerometerData
var accel = accelerationData.acceleration.x

如果有人能帮助我,那就太好了。

最佳答案

问题是 AccelerationData 为零,而您没有检查这一点。来自 docs :

If no accelerometer data is available, the value of this property is nil.

在像这样调用方法之前,您应该检查以确保确实存在数据

if let accelerationData = motionManager.accelerometerData {
var accel = accelerationData.acceleration.x
}

这将确保如果没有数据,您的应用程序不会崩溃。现在确保您获得一些数据。

您没有获得任何数据,因为您在初始化核心运动管理器后立即请求数据。您可以在检查前等待几秒钟来显示这一点。您可以添加NSThread.sleepForTimeInterval(3)就在if let 的上方,运行项目就会进入if let 。但请确保您使用的是实际设备,模拟器不会生成任何运动数据。

关于swift - "Can' t 展开可选。无 "and I can' t 找出原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24334219/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com