如何让标签不断显示int(swift4)



我想知道是否有一种方法可以让标签显示int。基本上覆盖所有if语句。我知道我可以做这个witch-if语句,但我只是问这个问题,看看我是否可以写更高效的代码。

class ViewController: UIViewController {
var time = -3
@IBOutlet var label: UILabel!
@IBAction func method2() {
time += 1
label.text = String(time)
}
@IBAction func method1() {
time += 1
label.text = String(time)
}
}

您可以在这段代码中看到label.text=String(时间(被重复两次。我正在试着看看我是否可以写这个代码,这样它只出现一次。

有几种方法可以做到这一点,你可以创建一个额外的方法,比如:

class ViewController: UIViewController {
var time = -3
@IBOutlet var label: UILabel!
@IBAction func method1() {
self.incrementAndDisplayTime()
}
@IBAction func method2() {
self.incrementAndDisplayTime()
}
private func incrementAndDisplayTime() {
self.time += 1
label.text = String(time)
}
}

或在设置时间时显示时间:

class ViewController: UIViewController {
var time = -3 {
didSet {
self.label.text = String(time)
}
}
@IBOutlet var label: UILabel!
@IBAction func method1() {
self.time += 1
}
@IBAction func method2() {
self.time += 1
}
}

或者从另一个方法调用一个方法:

class ViewController: UIViewController {
var time = -3
@IBOutlet var label: UILabel!
@IBAction func method1() {
self.method2()
}
@IBAction func method2() {
time += 1
label.text = String(time)
}
}

最新更新