OGeek|极客世界-中国程序员成长平台

标题: ios - 如何禁用调度源计时器的第一次触发 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 19:42
标题: ios - 如何禁用调度源计时器的第一次触发

我正在使用调度源计时器。

dispatch_source_t timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, queue);
dispatch_source_set_timer(timer, dispatch_walltime(NULL, 0), interval, leeway);
dispatch_source_set_event_handler(timer, block);
dispatch_resume(timer);

但是,我发现在上面的代码运行之后几乎立即调用了该 block 。之后,计时器会在每个时间间隔触发。 我的问题是如何禁用第一火?



Best Answer-推荐答案


dispatch_source_set_timer 的第二个参数是定时器第一次触发的时间。您将其设置为 dispatch_walltime(NULL, 0),即“现在”。

要让它在某个时间间隔后第一次触发,请改为传递 dispatch_walltime(NULL, interval)

关于ios - 如何禁用调度源计时器的第一次触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44110288/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) Powered by Discuz! X3.4