问题标签 [dispatch-after]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
15 回答
358530 浏览

ios - 如何在 Swift 3 中创建调度队列

在 Swift 2 中,我可以使用以下代码创建队列:

但这不能在 Swift 3 中编译。

在 Swift 3 中编写这个的首选方法是什么?

0 投票
7 回答
323885 浏览

ios - 如何在 Swift 3 中编程延迟

在早期版本的 Swift 中,可以使用以下代码创建延迟:

但是现在,在 Swift 3 中,Xcode 自动更改了 6 种不同的东西,但随后出现以下错误:“Cannot convert DispatchTime.nowto expected value dispatch_time_taka UInt64。”

在 Swift 3 中运行一系列代码之前如何创建延迟?

0 投票
1 回答
134 浏览

swift2 - dispatch_get_main_queue() 不能顺利运行新的异步作业

print 语句可以流畅地打印前 15-20 个数字,但是当i变大时,print 语句打印的东西很慢。我里面有更复杂dispatch_after的逻辑,我注意到处理非常缓慢,这就是我写这个测试的原因。

我可以配置缓冲区大小或其他属性吗?它似乎dispatch_get_main_queue()不适用于更多数量的异步任务。

提前致谢!

0 投票
0 回答
216 浏览

ios - 大量使用时,dispatch_after 是否比 NSTimer 更有效?

哪个更有效率?最大的区别是你不能取消 dispatch_after 块的执行,而你可以使用 NSTimer。那么哪个更好:大量无法取消的 dispatch_after 块或大量 NSTimer 将在可能的情况下取消?

0 投票
1 回答
387 浏览

objective-c - dispatch_after 并不总是有效

我尝试了下面的简单测试来了解NSOperationQueue 的 qualityOfService 属性和添加到它的 NSOperation 之间的交互中的 QoS 问题

在执行此操作时,我遇到了一个奇怪的问题,其中 dispatch_after 中的代码并不总是有效。有人可以帮我理解为什么案例 2 不起作用。

在这种情况下,dispatch_after 中的取消代码被执行

但在这种情况下,它没有被执行

0 投票
1 回答
2477 浏览

swift - DispatchQueue.main.asyncAfter(deadline: .now() + 5.0) 在 Swift 3 中如何工作?

在 Swift 3 中,GCD 的语法发生了很大变化。

对 dispatch_after() 的调用现在看起来像这样:

该代码将在调用块 5 秒后调用该块。

这是如何运作的?文档说截止日期参数是 a dispatch_time_t,它是 UInt64 的类型别名。我认为这是一个以纳秒为单位的马赫时间。但是,.now() + delay语法是在值中添加小数秒。DispatchTime.now() 不返回 UInt64 吗?如果是这样,添加小数秒不应该工作。如果有的话,我希望增加的值.now()被视为纳秒,这不是很有用。

(在 swift 2 中,您过去必须将该值乘以一个常数以获得每秒的纳秒数。)

0 投票
2 回答
298 浏览

ios - dispatch_after 块没有运行

请考虑这个简单的例子:

传递给第二个调用(3 秒)的块dispatch_after不会被触发。但是,如果我不使用第一个dispatch_after(2 秒),那么它会按预期工作。为什么?

我知道,如果我删除了 while 循环并NSRunLoop在里面运行,那么它可以工作,但我需要那里的循环