当按下按钮时,我试图仅捕获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!"
}
}
}
}
}
可能是一个非常基本的问题,但我无法弄明白。
答案 0 :(得分:0)
您已声明您的数组包含CMAcceleration
类型的值,但您尝试仅添加z
的{{1}}值。
如果数组中的所有内容都是Double
值,请将数组声明更改为z
的数组。
Double