数字= 0时返回数字

时间:2015-10-11 13:44:41

标签: ios swift numbers

我的应用程序有一个按钮,按钮的标签从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)"
}

3 个答案:

答案 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语句检查零。