ios - 如何禁用调度源计时器的第一次触发
<p><p>我正在使用调度源计时器。 </p>
<pre><code>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);
</code></pre>
<p>但是,我发现在上面的代码运行之后几乎立即调用了该 block 。之后,计时器会在每个时间间隔触发。
我的问题是如何禁用第一火?</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p><code>dispatch_source_set_timer</code> 的第二个参数是定时器第一次触发的时间。您将其设置为 <code>dispatch_walltime(NULL, 0)</code>,即“现在”。</p>
<p>要让它在某个时间间隔后第一次触发,请改为传递 <code>dispatch_walltime(NULL, interval)</code>。</p></p>
<p style="font-size: 20px;">关于ios - 如何禁用调度源计时器的第一次触发,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/44110288/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/44110288/
</a>
</p>
页:
[1]