arrays - try catch 加速度计轴

标签 arrays swift accelerometer

按下按钮时,我尝试仅捕获 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]()

关于arrays - try catch 加速度计轴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47493782/

相关文章:

arrays - $#vvv--; 是什么意思?在 Perl 中对哈希做什么?

android - 如何制作 BLE 网状网络?

android - (LIBGDX) 如何逐步整合加速度计并使用 ANDROID 上的 Z 轴来移动汽车?

jquery - 从 ajax JSON 响应构建数组

python - 正确打印完整阵列

javascript - 在 HTML 中使用数组命名输入字段时——如何计算数组长度?

Swift,sprite kit 游戏 : Have circle disappear in clockwise manner? 定时器?

swift - 根据 SDWebImage 图像高度调整表格 View 高度

ios - swift 3 : How to convert byte array into Data?

android - type_linear_acceleration 的权限