试图捕捉加速度计轴
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]()
当按下按钮时,我试图只捕获 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]()