gpt4 book ai didi

swift - 在方法对变量进行更改后更新 UI 上的值 (Swift 3)

转载 作者:行者123 更新时间:2023-11-30 12:24:40 29 4
gpt4 key购买 nike

我是 Swift 新手。在我的用户界面上,我有一些标签显示某些类实例的值。而且,我有一个类方法可以增加这些实例的值。调用此方法后,我的实例值会更新;但用户界面上的标签保持不变。我怎样才能让这个方法也更新我在这些标签中的数字。

这是我的 ViewController 代码:

@IBOutlet weak var displayValue: UILabel! //this is the label that displays newNumber's value

override func viewDidLoad() {
super.viewDidLoad()
dispValue.text = String("\(newNumber.value))")
}

这是我的代码:

class MyNumbers {
var value = 50

func increaseValue(by: Int){
value += by
}
}

var newNumber = myNumbers()
newNumber.increaseValue(by: 5) //This does increase newNumber's value to 55
//but my label on my UI remains as 50

最佳答案

您需要将更新后的值分配给 UILabel。最佳实践始终确保您在主线程中调用 UI 更改,并在进行 UI 更新时更新自动布局。

替换:

newNumber.increaseValue(by: 5)

与:

DispatchQueue.main.async {
newNumber.increaseValue(by: 5)
self.displayValue.text = "\(newNumber.value)"
self.view.layoutIfNeeded()
}

关于swift - 在方法对变量进行更改后更新 UI 上的值 (Swift 3),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44347997/

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