objective-c – 将NSTimer的发射时间重置为从现在开始而不是最后一次发射

objective-c – 将NSTimer的发射时间重置为从现在开始而不是最后一次发射,第1张

概述我有一个NSTimer,以3秒的间隔触发以减少值.当我执行增加该值的 *** 作时,我想重新启动计时器,从该点开始计算3秒. 例如,如果我增加值并且计时器将在1秒内触发,我想改变它并使计时器在3秒内激活.我可以使计时器无效并再次创建吗?或者我可以使用setFireDate:,使用当前日期并添加3秒的间隔? 是的,你可以使它无效.并再次创建它. 您还可以使用: - (void) myTimedTask { 我有一个NSTimer,以3秒的间隔触发以减少值.当我执行增加该值的 *** 作时,我想重新启动计时器,从该点开始计算3秒.

例如,如果我增加值并且计时器将在1秒内触发,我想改变它并使计时器在3秒内激活.我可以使计时器无效并再次创建吗?或者我可以使用setFireDate:,使用当前日期并添加3秒的间隔?

解决方法 是的,你可以使它无效.并再次创建它.

您还可以使用:

- (voID) myTimedTask {    // other stuff this task needs to do    // change the variable varyingDelay to be 1s or 3s or...  This can be an instance variable or global that is changed by other parts of your app    // weStillWantTimer is also a similar variable that your app uses to stop this recurring taskif (weStillWantTimer)       [self performSelector:@selector(myTimedTask:) withObject:gamecolor afterDelay:varyingDelay]; }

您调用myTimedTask来启动定期任务.启动后,您可以使用varyDelay更改延迟,或使用weStillWantTimer将其停止.

总结

以上是内存溢出为你收集整理的objective-c – 将NSTimer的发射时间重置为从现在开始而不是最后一次发射全部内容,希望文章能够帮你解决objective-c – 将NSTimer的发射时间重置为从现在开始而不是最后一次发射所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1242974.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存