gpt4 book ai didi

ios - 为什么我的代码只能在 DispatchQueue.main.async block 内运行?

转载 作者:可可西里 更新时间:2023-10-31 23:13:19 28 4
gpt4 key购买 nike

<分区>

我编写这段代码是为了在用户开始编辑 UITextField 时选择所有文本:

@IBAction func onEditingBegin(_ sender: Any) {
print("editing began")
let textfield = sender as! UITextField
textfield.selectAll(nil)
}

但它不会工作,直到我将 textfield.selectAll(nil) 行包含在 DispatchQueue.main.async block 中:

DispatchQueue.main.async {
textfield.selectAll(nil)
}

这是为什么?

更新:

我在 onEditingBegin() 中打印出线程的名称,结果如下:

<NSThread: 0x60800006c880>{number = 1, name = main}

所以它似乎已经在主线程上被触发,但代码仍然无法正常工作,除非在 DispatchQueue.main.async 中调用 textfield.selectAll() block 。

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