Swift 覆盖功能似乎没有启动

Swift 覆盖功能似乎没有启动,swift,Swift,我有一段代码,看起来没有错误,但是覆盖是错误的 没有发生,我无法检测设备运动 let motion = CMMotionManager() //start override override func viewDidLoad() { super.viewDidLoad() //check is motion is active if motion.isDeviceMotionActive { //setting interval motion.deviceMotionUpd

我有一段代码,看起来没有错误,但是覆盖是错误的 没有发生,我无法检测设备运动

   let motion = CMMotionManager()  

//start override
override func viewDidLoad() {
super.viewDidLoad()
//check is motion is active
if motion.isDeviceMotionActive {
 //setting interval
    motion.deviceMotionUpdateInterval = 0.01
 //starting updates
    motion.startDeviceMotionUpdates(to: .main) {
        [weak self] (data, error) in

        guard let data = data, error == nil else {
            return
        }

        let rotation = data.gravity.y

        self!.yAccel.text = "Accel = \(Double(rotation))"
         }
        }
       }

我希望override函数能够一致地重新加载数据并将数据保存到指定的变量中。我可以猜到您犯了一个错误。 应该有

if motion.isAccelerometerAvailable {
而不是:

if motion.isDeviceMotionActive {

如果motion.isDeviceMotionAvailable被证明是罪魁祸首!!谢谢Serj!丹尼尔,如果我的回答对你有帮助,请检查是否接受