usunięcie zera wiądącego w SWIFT 2

0

Robię sobie właśnie kalkulator w Swift 2 i mam problem z zerem wiodącym. Na starcie kalkulatora na wyświetlaczu (displayLabel) pokazuje się standardowo "0". Niemniej jednak podając pierwszą cyfrę np. "1" zero powinno zniknąć, a nie stać przed jedynką, bo wygląda to idiotycznie "01". Mam problem z usunięciem tego zera. Ktoś może naprowadzić na właściwy tor?

import UIKit

class ViewController: UIViewController {

//wartość wczesniejsza
    var previousValue:Int?
    
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

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

//wyświetlacz
    @IBOutlet weak var displayLabel: UILabel!

// buttony od 0 do 9
    @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 = "-"
    }
    
// wynik
    @IBAction func count(sender: AnyObject) {
        let result = previousValue! + Int(displayLabel.text!)!
        displayLabel.text = "\(result)"
        
    }
    
    
    @IBAction func clear(sender: AnyObject) {
        displayLabel.text=""
    }
    
}
1

Wystarczy że przed wciśnięciem buttona sprawdzisz czy na Labelce jest tylko 0, jeżeli tak to czyścisz labelkę i dodajesz to co masz na buttonie. Proste.

0

No właśnie, idee znam. Tylko jakoś się pogubiłem i nie wiem jak mam to sprawdzić, tzn. Jaki ma być kod:/

0

// buttony od 0 do 9
    @IBAction func buttonPressed(sender: AnyObject) {
        
       let numb = (sender as! UIButton).tag
        
        displayLabel.text = "\(displayLabel.text!)\(numb)"

    }

Zakladam ze kazdy button ma tag - liczbe wyswietlana na tym buttonie.
W tym przypadku po nacisnieciu buttona wyswietlasz na labelce to co juz przed chwila bylo i zaraz obok liczbe z nacisnietego buttona.
Powinno byc po prostu:

displayLabel.text = "\(numb)"
0

No właśnie nie sdo końca, bo jak zrobie taki zapis to owszem zero zniknie, ale jak wprowadze druga cyfre to ta pierwsza też zniknie.

Oczywiście każdy przycisk jest otagowany.

Dla potomnych, odpowiedź poniżej:

    @IBAction func buttonPressed(sender: AnyObject) {
        
       let numb = (sender as! UIButton).tag
        
        if displayLabel.text == "0"{
            displayLabel.text = "\(numb)"
        }else{
            displayLabel.text = "\(displayLabel.text!)\(numb)"
        }
        
        }
 

1 użytkowników online, w tym zalogowanych: 0, gości: 1