Ведущий ноль в калькуляторе swift2

У меня проблема с начальным нулем в моем простом приложении (калькуляторе). При запуске на этикетке печатается ноль, но когда я нажимаю кнопку, например, «1», я вижу «01». Это выглядит не очень хорошо, поэтому я бы изменил его. Мой код ниже. Может ли кто-нибудь помочь мне в этом?

import UIKit

class ViewController: UIViewController {

var previousValue:Int?


override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typicala       nib.
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

//display
@IBOutlet weak var displayLabel: UILabel!

// buttons
@IBAction func buttonPressed(sender: AnyObject) {

   let numb = (sender as! UIButton).tag

    displayLabel.text = "\(displayLabel.text!)\(numb)"

}
//plus    
@IBAction func plusPress(sender: AnyObject) {
    previousValue = Int(displayLabel.text!)
    displayLabel.text = "+"

}
//minus    
@IBAction func minusPress(sender: AnyObject) {
    previousValue = Int(displayLabel.text!)
    displayLabel.text = "-"
}

// count
@IBAction func count(sender: AnyObject) {
    let result = previousValue! + Int(displayLabel.text!)!
    displayLabel.text = "\(result)"

}


@IBAction func clear(sender: AnyObject) {
    displayLabel.text=""
}

}

person Berike    schedule 23.10.2015    source источник


Ответы (1)


Сначала проверьте содержимое displayLabel.text. Если это 0, то просто установите displayLabel.text на число, которое было нажато. Кроме того, если вы объявите sender в buttonPressed как UIButton, вам не нужно его приводить:

@IBAction func buttonPressed(sender: UIButton) {
    let numb = sender.tag

    if displayLabel.text == "0" {
        displayLabel.text = "\(numb)"
    }
    else {
        displayLabel.text = "\(displayLabel.text!)\(numb)"
    }
}
person vacawama    schedule 23.10.2015