【问题标题】:Swift 4 adding a label.text int to a button int [duplicate]Swift 4 将 label.text int 添加到按钮 int [重复]
【发布时间】:2024-01-09 17:53:02
【问题描述】:

我目前有一个显示数据库读取值的标签。数据库具有字符串形式的值。通过 viewWillAppear 读取数据库并将在标签中显示正确的值。我还有一个按钮,当按下时,应将 1 添加到当前标签值。当标签值发生变化时,会将当前值发送到数据库进行存储。

我的标签显示正确。我可以在标签上添加一个 1,但它将它添加到数字的末尾,而不是将两者加在一起(即值是 6,按下按钮,值现在是 61)。数据库读/写部分工作正常。我似乎无法理解的唯一一件事是如何将两个数字相加。这似乎是一个简单的过程,但我尝试过的一切都不起作用。非常感谢任何帮助!

我使用的一个代码示例:

class ViewController: UIViewController {

    @IBOutlet weak var label: UILabel!
        var variable = String([])

@IBAction func addOnePressed(_ sender: UIButton) {
        var variable = Int(label.text!)!
        let number = 1
        if let result = variable += number { self.label.text = result }

【问题讨论】:

  • 你说得对,我很抱歉。我会关闭这个答案。

标签: swift variables int


【解决方案1】:

主要问题是 属性 variable 不等于 局部变量 variable

我建议将属性variable 声明为Int,在viewDidLoad 中设置标签并在addOnePressed 中增加属性

class ViewController: UIViewController {

    @IBOutlet weak var label: UILabel!

    var variable = 0

    override func viewDidLoad() {
        super.viewDidLoad()
        self.label.text = "\(variable)"
    }

    @IBAction func addOnePressed(_ sender: UIButton) {
        variable += 1
        self.label.text = "\(variable)"
    }
}

PS:String([]) 的语法令人困惑。实际上它只是一个空字符串""

【讨论】: