Skip to content

Instantly share code, notes, and snippets.

@Darmaal
Created August 22, 2017 10:57
Show Gist options
  • Save Darmaal/e4c2c3ae3bff4546d337eceff57b779b to your computer and use it in GitHub Desktop.
Save Darmaal/e4c2c3ae3bff4546d337eceff57b779b to your computer and use it in GitHub Desktop.
import UIKit
class ViewController: UIViewController {
var displayedFigure : Double = 0
var previousFigure : Double = 0
var operatorInView = false
var operation = 0
@IBOutlet var displayLabel: UILabel!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func happened(_ sender: UIButton) {
if operatorInView {
displayLabel.text = String(sender.tag - 1)
displayedFigure = Double(displayLabel.text!)!
operatorInView = false
} else {
displayLabel.text = displayLabel.text! + String(sender.tag - 1)
displayedFigure = Double(displayLabel.text!)!
}
}
@IBAction func Operators(_ sender: UIButton) {
if displayLabel.text != "" && sender.tag != 11 && sender.tag != 16 {
previousFigure = Double(displayLabel.text!)!
switch sender.tag {
case 12: displayLabel.text = "/"
case 13: displayLabel.text = "*"
case 14: displayLabel.text = "-"
case 15: displayLabel.text = "+"
default : break
}
operation = sender.tag
operatorInView = true
//MARK:- User Clicks '='
} else if sender.tag == 16 {
switch operation {
case 12: displayLabel.text = String(previousFigure / displayedFigure)
case 13: displayLabel.text = String(previousFigure * displayedFigure)
case 14: displayLabel.text = String(previousFigure - displayedFigure)
case 15: displayLabel.text = String(previousFigure + displayedFigure)
default:
break
}
//MARK:- User Clicks 'C'
} else if sender.tag == 11 {
operatorInView = false
displayLabel.text = ""
displayedFigure = 0
previousFigure = 0
operation = 0
}
}
}
@mjamaalahmad
Copy link

Hey,
Thanks for the code but i seem to get an error for - line 27 - displayedFigure = Double(displayLabel.text!)!
Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)

Can you let me know how to remove the error

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment