试图捕捉加速度计轴

时间:2017-11-26 07:00:14

标签: arrays swift accelerometer

当按下按钮时,我试图仅捕获z数据而不是x和y。但是,每当我尝试将.z添加到myData.acceleration {self.readings.append(myData.acceleration)}时,它都不会让我。当y命中-39时,我怎么能只捕获z数据?

出现错误说:

  

无法将'Double'类型的值转换为预期的参数类型'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!"
                }
            }
        }
    }
}

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

1 个答案:

答案 0 :(得分:0)

您已声明您的数组包含CMAcceleration类型的值,但您尝试仅添加z的{​​{1}}值。

如果数组中的所有内容都是Double值,请将数组声明更改为z的数组。

Double