Swift 中的数据更改后如何重新加载视图
How to reload view after data changes in Swift
我有一个包含标签的视图,并且有一个按钮可以更改标签的值。我怎样才能重新加载整个视图来更新标签,而不是在按钮中一个一个地更改值。
@IBOutlet weak var one: UILabel!
@IBOutlet weak var two: UILabel!
@IBOutlet weak var three: UILabel!
....
@IBOutlet weak var updateLabels: UIButton!{
//doing something to change the value of the labels
//then wanna reload the whole view
viewDidLoad()
}
我调用了 viewDidLoad() 方法,但没有成功。
您永远不应该给自己打电话 viewDidLoad
。这是 OS 调用的框架函数,表示您的视图已准备好设置。
如果你把你的功能分开会更好
func updateLabels() {
one.text = "one"
two.text = "two"
three.text = "three"
}
现在您可以随时调用 updateLabels
函数。
为什么不把所有标签都放在一个方法上。并在需要重新加载时触发它。
override func viewDidLoad() {
super.viewDidLoad()
updateLabels()
}
func updateLabels() {
one.text = "one"
two.text = "two"
three.text = "three"
}
@IBAction func updateLabels(_ sender: Any) {
updateLabels()
}
您更新标签的方法不正确。您需要做的事情如下:
像确保在 Interface Builder 中 linked 一样声明标签:
//Declare The Labels
@IBOutlet var one: UILabel!
@IBOutlet var two: UILabel!
@IBOutlet var three: UILabel!
然后创建一个由 UIButton 触发的 IBAction 函数:
/// Set The Text Labels Text
@IBAction func updateLabelText(){
//Set Label Text
one.text = "one"
two.text = "two"
three.text = "three"
}
当然要记住 link 将此添加到 Interface Builder 中的 UIButton 实例。
希望对您有所帮助。
我有一个包含标签的视图,并且有一个按钮可以更改标签的值。我怎样才能重新加载整个视图来更新标签,而不是在按钮中一个一个地更改值。
@IBOutlet weak var one: UILabel!
@IBOutlet weak var two: UILabel!
@IBOutlet weak var three: UILabel!
....
@IBOutlet weak var updateLabels: UIButton!{
//doing something to change the value of the labels
//then wanna reload the whole view
viewDidLoad()
}
我调用了 viewDidLoad() 方法,但没有成功。
您永远不应该给自己打电话 viewDidLoad
。这是 OS 调用的框架函数,表示您的视图已准备好设置。
如果你把你的功能分开会更好
func updateLabels() {
one.text = "one"
two.text = "two"
three.text = "three"
}
现在您可以随时调用 updateLabels
函数。
为什么不把所有标签都放在一个方法上。并在需要重新加载时触发它。
override func viewDidLoad() {
super.viewDidLoad()
updateLabels()
}
func updateLabels() {
one.text = "one"
two.text = "two"
three.text = "three"
}
@IBAction func updateLabels(_ sender: Any) {
updateLabels()
}
您更新标签的方法不正确。您需要做的事情如下:
像确保在 Interface Builder 中 linked 一样声明标签:
//Declare The Labels
@IBOutlet var one: UILabel!
@IBOutlet var two: UILabel!
@IBOutlet var three: UILabel!
然后创建一个由 UIButton 触发的 IBAction 函数:
/// Set The Text Labels Text
@IBAction func updateLabelText(){
//Set Label Text
one.text = "one"
two.text = "two"
three.text = "three"
}
当然要记住 link 将此添加到 Interface Builder 中的 UIButton 实例。
希望对您有所帮助。