如何在Swift中按下按钮来增加标签值

时间:2015-06-09 14:13:59

标签: ios swift

当我点击按钮时,我试图将标签增加2。

import UIKit

class ViewController: UIViewController {

    var cur = 0;

    @IBOutlet weak var money: UILabel!

    @IBAction func pressbutton(sender: UIButton) {
        cur = money.text!.toInt()!;
        self.money.text = String(cur + 2);

    }

}

这是我当前的代码,但我收到了错误

  

toInt()是不可用的:使用Int()初始值设定项

在这一行

cur = money.text!.toInt()!;

3 个答案:

答案 0 :(得分:10)

根据MVC编程,您不应该使用标签的内容来增加标签。相反,使用变量存储Int并通过向变量添加属性观察者来更新标签,如下所示:

class ViewController: UIViewController {

    @IBOutlet weak var someLabel: UILabel!

    var someValue: Int = 0 {
        didSet {
            someLabel.text = "\(someValue)"
        }
    }

    override func viewDidLoad() {
        super.viewDidLoad()

        someValue = 0 // didSet is called when the variable is changed, not upon initialization.
    }

    @IBAction func buttonPressed(sender: UIButton) {
        someValue += 2
    }
}

此外,我会考虑将您的变量重命名为比cur更具描述性的内容,并且您可以省略分号,因为它们是不必要的。

答案 1 :(得分:4)

您可以通过将违规代码更改为以下内容来解决此错误:

cur = Int(money.text!)!;

详细了解初始值设定项here。摘录:

  

初始化是准备类实例的过程,   结构或枚举使用。这个过程涉及设置   该实例上每个存储属性的初始值并执行   在新的之前需要的任何其他设置或初始化   实例已经可以使用了。

答案 2 :(得分:-3)

money.text = "\(Int(money.text!)! + 2)"