2017-05-18 2 views
0

Je suis extrêmement novice avec Swift 3 et je viens juste de travailler sur quelques tutoriels pour en tirer quelques petites choses. J'essaye d'écrire du code pour effectuer un calcul basé sur six entrées différentes. Cela fonctionne très bien mais quand je laisse un champ de texte vide, l'application plante dans le simulateur. J'ai fait des tas de recherches pour trouver une réponse et il semble que la fonction "let" ou "guard let" soit la solution, mais je n'arrive pas à l'implémenter avec succès. Quelqu'un peut-il m'aider spécifiquement à implémenter une fonction qui me permet de vérifier si un champ de texte est vide et de créer un message d'avertissement ou d'erreur?Comment avertir si un champ de texte est vide dans Swift 3?

Voici mon code à ce jour:

@IBOutlet weak var field1: UITextField! 
@IBOutlet weak var field2: UITextField! 
@IBOutlet weak var field3: UITextField! 
@IBOutlet weak var field4: UITextField! 
@IBOutlet weak var field5: UITextField! 
@IBOutlet weak var field6: UITextField! 
@IBOutlet weak var labelResult: UILabel! 

@IBAction func Calculate(_ sender: UIButton) { 

    let p = Double (field1.text!) 
    let d = Double (field2.text!) 
    let s = Double (field3.text!) 
    let e = Double (field4.text!) 
    let w = Double (field5.text!) 
    let y = Double (field6.text!) 


    let sum = ((p!*d!)/((2*((s!*e!*w!)+(p!*y!))))) 

    labelResult.text = "\(sum)" 

    } 

Toute aide serait grandement appréciée! Désolé si ma terminologie est incorrecte ... comme je l'ai dit, je suis extrêmement nouveau pour Swift 3 et toute forme de codage !!

Merci d'avance.

Rally3

Répondre

0

Vous pouvez faire quelque chose comme ça

guard field1.text.isEmpty else { print("You can print here to notify problem") return } 
    guard field2.text.isEmpty else { return } 
    etc.. 

De cette façon, vous quittez la fonction bientôt, vous ne pourrez pas faire un calcul avec des valeurs vides.

+0

La garde doit-elle précéder labelResult.text = "\ (somme)"? Je ne peux pas sembler mettre en œuvre avec succès encore cela! –

+0

vous devriez garder au début, devrait être la première chose sur votre fonction. –