gpt4 book ai didi

swift - NSTimer 不在 WatchOS2 中进行调度

转载 作者:搜寻专家 更新时间:2023-11-01 06:08:07 26 4
gpt4 key购买 nike

我想制作一个心跳动画来匹配 WatchOS2 中 HealthKit 的心率采样。我似乎无法找到一种方法来根据最近的样本更新计时器间隔。

经过一些研究,使计时器无效并重新安排是推荐的方法;但以下代码似乎无法完成工作。

class InterfaceController: WKInterfaceController {

var timer: NSTimer?


private func updateHeartRate(rate: Int) {
...


heartBeatIntensity = NSTimeInterval(0.0166 * Float(rate))
print(heartBeatIntensity)

if let timer = timer {
timer.invalidate()
}

timer = NSTimer.scheduledTimerWithTimeInterval(heartBeatIntensity, target:self, selector: Selector("updatesByTimer"), userInfo: nil, repeats: true)
}

最佳答案

根据watchOS 2.0文档,HKAnchoredObjectQuery的updateHandler是从后台线程调用的。

the query executes this update handler on a background queue.

试试这个。

private func updateHeartRate(rate: Int) {
...

dispatch_async(dispatch_get_main_queue()) {
//your code
}
}

关于swift - NSTimer 不在 WatchOS2 中进行调度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32168308/

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