gpt4 book ai didi

ios - 带有 NSTimeInterval 值数组的后续 WKInterfaceTime/NSTimer 事件

转载 作者:行者123 更新时间:2023-11-30 13:50:10 26 4
gpt4 key购买 nike

我正在尝试使用 WKInterfaceTimer 和 NSTimer 运行后续的 Timer 事件,问题是我无法找到一种方法来使用一个 NSTimer 对象进行两次以上的后续调用。基本上,我希望运行计时器完成然后启动下一个。

这里有一些示例代码,希望能更好地解释我的想法......

1)我正在 awakeWithContext 中启动第一个计时器:

func initalTimer() {

let timer1String = NSMutableAttributedString(string: "Lap1")

runStatusLabel.setAttributedText(timerString)

myTimer = NSTimer.scheduledTimerWithTimeInterval(duration, target: self, selector: Selector("timerDone"), userInfo: nil, repeats: false)
runTimer.setDate(NSDate(timeIntervalSinceNow: duration))
runTimer.start()
}

注意:此时一切正常,然后调用 tiemrDone 函数,然后我触发另一个定时事件。

2)

func timerDone() {

//print("Done")
elapsedTime = 0.0

myTimer!.invalidate()
startTime = NSDate()
timeRunning = false

// Call second timed event
timer2() // just another NSTimer / WKInterfaceTimer function
}

使用completionHandler“堆叠”函数似乎没有帮助,或者很可能我做错了什么......

func execute_Timers(timeInterval: NSTimeInterval, completionHandler: (success:        Bool, error: String?) -> Void  ) -> Int   {

// Code below never gets executed
}

最佳答案

我还没有测试过这个,这只是一个猜测:当你的timerDone()方法被调用时,你使计时器无效。因此它不会“完成”,因此不会调用您的完成例程。当你的计时器完成时,它无论如何都会失效,所以不需要调用。尝试删除:

 myTimer!.invalidate()

看看会发生什么。

关于ios - 带有 NSTimeInterval 值数组的后续 WKInterfaceTime/NSTimer 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34390348/

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