Bonjour, bonsoir, c’est encore moi.
Je viens de terminer le chapitre de la calculatrice, mais il y a quelque chose que je ne comprend pas dans le code.
Lors du calcul de la fonction, la variable _previousNumber
est utilisé. Ma question est comment le programme sait que _préviousNumber
est le chiffre qu’il doit retenir ? Je n’ai noté nul part que lorsque j’appuie sur une operation, il transfère ma variable _currentNumber
dans _previousNumber
. Pire encore, le fait de voir que ça marche me laisse perplexe.
Voici mon code au moment ou j’envois ce message :
import UIKit
class ViewController: UIViewController {
var _currentNumber:Double = 0 {
didSet{
userResultLabel.text = "\(_currentNumber)"
}
}
var _operationType:Character = " "
var _previousNumber:Double = 0
func calculationProcess(){
var result:Double
if _operationType == "+" {
result = _previousNumber + _currentNumber
}
else if _operationType == "-" {
result = _previousNumber - _currentNumber
}
else if _operationType == "*"{
result = _previousNumber * _currentNumber
}
else if _operationType == "/"{
result = _previousNumber / _currentNumber
}
else {
result = _currentNumber
}
_previousNumber = result
_currentNumber = 0
userResultLabel.text = "\(result)"
}
@IBOutlet weak var userResultLabel: UILabel!
@IBAction func acNumber() {
_previousNumber = 0
_currentNumber = 0
}
@IBAction func moreOrLessButton() {
_currentNumber = _currentNumber * -1
}
@IBAction func plusButton() {
calculationProcess()
_operationType = "+"
}
@IBAction func multiplyButton() {
calculationProcess()
_operationType = "*"
}
@IBAction func lessButton() {
calculationProcess()
_operationType = "-"
}
@IBAction func divideButton() {
calculationProcess()
_operationType = "/"
}
@IBAction func equalButton() {
calculationProcess()
}
@IBAction func percentageButton() {
_currentNumber = _currentNumber / 100
}
@IBAction func digitButtonTouched(_ sender: UIButton) {
_currentNumber = (_currentNumber * 10) + Double(sender.tag)
}
override func viewDidLoad() {
super.viewDidLoad()
}
}