我的应用程序有一个按钮,按钮的标签从5到1(5..4..3..2..1)。我想要的是当数字达到0时再次返回5.我试过这个但是不起作用。有人有任何提示吗?
@IBOutlet weak var NbrLabel: UILabel!
var Nbr = 5
override func viewDidLoad() {
super.viewDidLoad()
if Nbr == 0 {
Nbr == 5
NbrLabel.text = "\(Nbr)"
}
}
@IBAction func ICButton(sender: UIButton) {
Nbr -= 1
NbrLabel.text = "\(Nbr)"
}
答案 0 :(得分:2)
检查等同于最大数量(在您的情况下为5)应该在IBAction方法中完成。在viewDidLoad方法中,您应该只设置带有在视图加载后显示的初始值的标签(如果您有单个视图应用程序 - 在应用程序启动时)。尝试这样的变体:
let NbrMaxValue = 5
class ViewController: UIViewController {
@IBOutlet weak var NbrLabel: UILabel!
var Nbr = NbrMaxValue
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
NbrLabel.text = "\(Nbr)"
}
@IBAction func ICButton(sender: UIButton) {
--Nbr
if Nbr == 0 { Nbr = NbrMaxValue }
NbrLabel.text = "\(Nbr)"
}
}
答案 1 :(得分:1)
这应该有效:
@IBOutlet weak var NbrLabel: UILabel!
var Nbr = 5
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
@IBAction func ICButton(sender: UIButton) {
Nbr -= 1
if Nbr == 0 {
Nbr = 5
}
NbrLabel.text = "\(Nbr)"
}
您是否开始编程?
答案 2 :(得分:0)
嗯..我知道这已有一个已接受的答案,但向后计数可以被认为是 -
5 - 0 = 5
5 - 1 = 4
5 - 2 = 3
5 - 3 = 2
5 - 4 = 1
因此,使用if语句为什么不只是增加一个计数器并使用模数表达式,如 -
var counter = 4 // initial value to start with
var value = 5 - ((counter + 1) % 5) // execute this line on button press
注意 - 这只是一个示例,用于演示向后计数,而不使用if语句检查零。