Je suis en train de tenter le projet du débutant Swift de construire une calculatrice. J'essaie actuellement d'ajouter des opérateurs de base à la calculatrice.
Cependant, je ne sais pas ce que j’ai fait, mais tout à coup, tous les opérateurs de base ont disparu du contrôleur principal de la vie.
Mais le petit signe + situé à gauche de l'opérateur @IBAction func () indique toujours la présence d'un opérateur de base, mais il est introuvable.
Mais lorsque je lance le programme dans Simulator, l’opérateur de base réapparaît.
Code:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var display: UILabel!
var userIsInTheMiddleOfTypingANumber = false
@IBAction func appendDigit(sender: UIButton) {
let digit = sender.currentTitle!
if userIsInTheMiddleOfTypingANumber {
display.text = display.text! + digit
} else {
display.text = digit
userIsInTheMiddleOfTypingANumber = true
}
}
@IBAction func operate(sender: UIButton) {
let operation = sender.currentTitle!
if userIsInTheMiddleOfTypingANumber {
enter()
}
switch operation {
case "×":performOperation {$0 * $1}
case "÷":performOperation {$1 / $0}
case "+":performOperation {$0 + $1}
case "−":performOperation {$1 - $0}
case "√":performOperation {sqrt($0)}
default: break
}
}
func performOperation(operation: (Double, Double) -> Double){
if operandStack.count >= 2{
displayValue = operation(operandStack.removeLast(), operandStack.removeLast())
enter()
}
}
private func performOperation(operation: Double -> Double){
if operandStack.count >= 1{
displayValue = operation(operandStack.removeLast())
enter()
}
}
var operandStack = Array<Double>()
@IBAction func enter() {
userIsInTheMiddleOfTypingANumber = false
operandStack.append(displayValue)
print("operantStack = (operandStack)")
}
var displayValue: Double {
get {
return NSNumberFormatter().numberFromString(display.text!)!.doubleValue
}
set {
display.text = "(newValue)"
userIsInTheMiddleOfTypingANumber = false
}
}
}
Réponses:
1 pour la réponse № 1Ces boutons sont désactivés pour la taille actuelleclasse que vous avez sélectionnée. Si vous passez à la barre des utilitaires (à droite) et sélectionnez l'onglet Attributs (celui du milieu), faites défiler l'écran jusqu'en bas, assurez-vous que la première case Installé est cochée. Amusez-vous avec la série Stanford. Voir ci-joint
1 pour la réponse № 2
c’est un problème de contrainte auquel vous faites face
il suffit de cliquer sur Résoudre le problème de l'autolayout sous tout vue dans container -> Cliquez sur Update Frames, puis sur update.
cela résoudra votre problème