gpt4 book ai didi

swift - 无法转换类型的值“(数据 : CMAccelerometerData!,错误 : NSError!)

转载 作者:行者123 更新时间:2023-11-28 12:46:19 27 4
gpt4 key购买 nike

这是否意味着它应该被展开?

Cannot convert value of type '(data: CMAccelerometerData!, err: NSError!) -> Void' to expected argument type 'CMAccelerometerHandler' (aka '(Optional, Optional) -> ()')

为什么 CMAccelerometerData 与 accelerometerUpdateHandler 不兼容?

    // error
motionManager.startAccelerometerUpdatesToQueue(motionHandlingQueue, withHandler: accelerometerUpdateHandler())


// snip

func accelerometerUpdateHandler() -> (data: CMAccelerometerData!, err: NSError!) -> Void {
let idleThreshold = 0.1

var log = [Double]()

var samplingCountdown: Int = 0

return { (data: CMAccelerometerData!, err: NSError!) -> Void in

let _stable = abs(data.acceleration.x) < idleThreshold && abs(data.acceleration.y) < idleThreshold && data.acceleration.z < -0.75

最佳答案

按如下方式定义您的加速度计处理程序:

func accelerometerHandler(data: CMAccelerometerData?, error: NSError?) -> Void {
guard let data = data where error == nil else { return }
let idleThreshold = 0.1
var log = [Double]()
var samplingCountdown: Int = 0
let _stable = abs(data.acceleration.x) < idleThreshold && abs(data.acceleration.y) < idleThreshold && data.acceleration.z < -0.75
// the rest of your code
}

调用时:

motionManager.startAccelerometerUpdatesToQueue(motionHandlingQueue, withHandler: accelerometerHandler)

关于swift - 无法转换类型的值“(数据 : CMAccelerometerData!,错误 : NSError!),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38003885/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com