在从外部服务器获取响应后,我以编程方式为UITextfield添加了一个文本。但是直到我点击文本字段才显示文本。这是代码:
if let postcodeVal = dictionary["postcode"]{
println("postcode \(postcodeVal)")
self.postcode.text = postcodeVal as String
}
此文本字段不可编辑。(删除启用用户交互的勾选)
任何人都可以帮助我理解,为什么在点击它之前不会立即显示它?
答案 0 :(得分:1)
您对外部服务器的请求正在后台线程上运行。用户界面上的更改必须始终在主线程上完成。
在服务器请求的完成处理程序中,您需要将textfield的更新分派给主线程,如下所示:
QStringList itemsInComboBox;
for (int index = 0; index < ui->combo_box->count(); index++)
itemsInComboBox << ui->combo_box->itemText(index);