当我点击按钮时,我试图将标签增加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()!;
答案 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)"