试图捕捉加速度计轴

Trying to capture accelerometer axis

当按下按钮时,我试图只捕获 z 数据而不是 x 和 y。但是,每次我尝试将 .z 添加到 myData.acceleration {self.readings.append(myData.acceleration)} 时,它都不会让我这样做。当 y 达到 -39 时,我如何才能只捕获 z 数据?

出现错误说:

Cannot convert value of type 'Double' to expected argument type 'CMAcceleration'

import UIKit
import CoreMotion

class ViewController: UIViewController {
    @IBOutlet var Count: UILabel!
    @IBOutlet var StartCount: UIButton!

    var motionManager = CMMotionManager()
    var count:String = "..."
    var counting:Bool = false
    var readings: [CMAcceleration] = []


    @IBAction func StartCount(_ sender: Any) {
        motionManager.startAccelerometerUpdates(to:OperationQueue.current!) {(data, error) in
            if let myData = data
            {
                if myData.acceleration.y < -39
                {
                    self.readings.append(myData.acceleration.z)
                }
                else
                {
                    self.Count.text = "GO!"
                }
            }
        }
    }
}

可能是一个非常基本的问题,但我无法弄明白。

您已声明您的数组保存 CMAcceleration 类型的值,但您试图仅添加 z 值,即 Double.

如果数组中只需要 z 值,请将数组声明更改为 Double.

的数组
var readings = [Double]()