gpt4 book ai didi

ios - asyncAfter 似乎没有时间延迟 - Swift

转载 作者:搜寻专家 更新时间:2023-11-01 07:01:59 25 4
gpt4 key购买 nike

最终,我很快就在 swift 中使用了 asyncAfter 特性,它确实有一些延迟,而且看起来与普通代码不同。

异步代码:

DispatchQueue.main.asyncAfter(deadline: .now() + 0.0 , execute: {
self.updateUI()
})

普通代码:

self.updateUI()

执行选择器也有类似的问题。

self.performSelector("onFlip", withObject: nil, afterDelay: 0)

这个延迟是因为创建新线程造成的吗?

最佳答案

这是预期的。

DispatchQueue.main.asyncAfter(deadline: .now() + 0.0 , execute: {
self.updateUI()
})

本质上与

相同
DispatchQueue.main.async {
self.updateUI()
}

由于您将代码分派(dispatch)到主线程异步,它也不会立即执行。由于异步调度,闭包内的代码不会立即执行,只会在 main 的下一个运行循环中执行,这可能会导致可测量的延迟。

关于ios - asyncAfter 似乎没有时间延迟 - Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50642582/

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