我正在尝试更新标签以指示状态,但它没有按预期刷新/显示
func setStatusText(status: String) {
statusText.stringValue = status;
}
func doSomething() {
setStatusText(status: "Activating license"); // This is never shown
var rc = PerformAction()
if (rc == 0) {
setStatusText(status: "\(action) succeeded") // Correctly displayed
} else {
setStatusText(status: "\(action) failed") // Correctly displayed
}
操作之前的状态更新永远不会显示,但操作之后设置的状态会正确显示。我该怎么做才能确保显示第一个状态?
编辑:我尝试了其他方法来尝试隔离它。我添加了一个按钮,它将设置文本、 sleep ,然后再次设置文本。我从未在状态中看到“第一”。
@IBAction func TestSettingText(_ sender: Any) {
self.statusText.stringValue = "first";
sleep(15)
self.statusText.stringValue = "second";
}
最佳答案
我不知道 PerformAction
到底做了什么,但看起来它很快就完成了,所以您只是看不到激活许可证
状态。它在那里,但只持续了很短的一段时间,然后立即更改为下一个状态
关于swift - 标签未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57171670/