【问题标题】:Xcode - Label won't clear when button is pressedXcode - 按下按钮时标签不会清除
【发布时间】:2015-08-07 03:14:36
【问题描述】:

所以我试图在我的应用程序中创建一个简单的函数,其中一个按钮在按下时向标签添加 1 个整数,而另一个则清除它。

代码如下:

class ViewController: UIViewController {

var number = 0

@IBOutlet weak var tapCount: UILabel!
@IBAction func plusTapped(sender: AnyObject) {

    number = number + 1
    tapCount.text = String(number)

}
@IBAction func minusTapped(sender: AnyObject) {

    var totalNumber = number - number
    tapCount.text = String(totalNumber)

}

但是,当点击减号按钮时标签会清除,但是当点击加号按钮后,它会从按下减号按钮之前的前一个数字累加。

我该如何解决这个问题,以便它真正清除标签?

【问题讨论】:

  • number - number 的目的是什么?听起来问题是变量number 没有设置为0。与标签无关。
  • 是的,你做得对,只是设置为 0
  • 是否要在标签中附加数字并在减去uilabel时清除最后一个数字?

标签: ios xcode swift


【解决方案1】:
@IBAction func minusTapped(sender: AnyObject) {
    number = 0  // add this line to reset the counter, the real number
    tapCount.text = String(number)
}

【讨论】:

    【解决方案2】:

    试试

    @IBAction func minusTapped(sender: AnyObject) {
    
        number = 0
        tapCount.text = String(0)
    
    }
    

    【讨论】:

    • 这并不能真正解决问题——他希望文本为“数字”,数字为 0。您只做了其中一件事情。
    【解决方案3】:

    我认为这是因为当您处理减号时,您正在更改局部变量而不是更改数字本身。你也应该改变“数字”。在你的代码中查看我的 cmets

    class ViewController: UIViewController {
    
    var number = 0
    
    @IBOutlet weak var tapCount: UILabel!
    
        @IBAction func plusTapped(sender: AnyObject) {
    
    number = number + 1
    tapCount.text = String(number)
    
    }
    
    @IBAction func minusTapped(sender: AnyObject) {
    //here totalNumber is changed but number is still the same
    var totalNumber = number - number
    tapCount.text = String(totalNumber)
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-16
      • 1970-01-01
      • 1970-01-01
      • 2016-06-30
      • 2017-11-29
      相关资源
      最近更新 更多