gpt4 book ai didi

swift - 为什么 DispatchQueue.main.async 在 Swift 应用程序中不起作用?

转载 作者:行者123 更新时间:2023-11-30 10:33:28 45 4
gpt4 key购买 nike

我正在努力处理 Swift 中的异步代码。如果没有互联网连接,我必须禁用 2 个按钮。我在 2 个不同的函数中有 2 个 DispatchQueue.main.async 调用。其中 1 个可以工作,但另一个不会禁用该按钮(好处是您可以单击该按钮,但不会发生任何事情)。我正在 iPhone 上测试我的代码,因为模拟器无法正确运行我正在使用的 SDK。

所有这些函数看起来都是这样的(这是最后一个不起作用的函数):

public func disableButton2(_ check: Bool) {
DispatchQueue.main.async{
self.button2.isEnabled = check
}

最佳答案

我用过这个,效果很好

DispatchQueue.main.asyncAfter(deadline: .now() + delayInSeconds) { [weak self] in
guard let self = self else {
return
}

试试这个你就会得到结果。

关于swift - 为什么 DispatchQueue.main.async 在 Swift 应用程序中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58586227/

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