/ / Essayer de construire une calculatrice à l’aide de Swift, les boutons de l’opérateur de base ont disparu du contrôleur de la vue principale, impossible de le récupérer - rapide, uiviewcontroller

Essayer de construire une calculatrice à l’aide de Swift, les boutons de base de l’opérateur ont disparu du contrôleur de la vue principale, impossible de le récupérer - rapide, uiviewcontroller

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.

entrer la description de l'image ici

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.

entrer la description de l'image ici

entrer la description de l'image ici

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.

entrer la description de l'image ici

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 № 1

Ces 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

entrer la description de l'image ici