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

Sta*_*wer 5 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);

    }

}
Run Code Online (Sandbox Code Playgroud)

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

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

在这条线上

cur = money.text!.toInt()!;
Run Code Online (Sandbox Code Playgroud)

Ian*_*Ian 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
    }
}
Run Code Online (Sandbox Code Playgroud)

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


Vat*_*not 4

您可以通过将有问题的代码更改为以下内容来修复此错误:

cur = Int(money.text!)!;
Run Code Online (Sandbox Code Playgroud)

在此处阅读有关初始值设定项的更多信息。摘录:

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