2017-08-12 4 views
-4

Mon code essaie de prendre des champs de texte et de les ajouter ensemble à un champ de texte total. Si j'attribue les valeurs dans viewdidload cela fonctionne mais dès que je change les valeurs, le champ de texte score n'est pas mis à jour.textfield ne pas ajouter ensemble lors de l'appel (swift3)

import UIKit 

@IBOutlet var t11: UITextField! 
@IBOutlet var t12: UITextField! 
@IBOutlet var score: UITextField! 

class ViewController: UIViewController, UIPickerViewDataSource, UIPickerViewDelegate { 

    override func viewDidAppear(_ animated: Bool) { 
     super.viewDidAppear(animated) 
     acc() 
    } 

    func acc() { 
     let dx = ((t11.text! as NSString).integerValue + (t12.text! as NSString).integerValue) 
     print("its time",dx) 
     score.text = String(dx) 
    } 
+2

Ne pas poser la même question encore et encore s'il vous plaît. https://stackoverflow.com/questions/45644141/how-to-add-2-textfields-togethers-as-int-swift3/45647071#45647071 – PGDev

+1

Vous perdez le temps des bénévoles lorsque vous faites cela, pas à mention contraire aux règles du site. Au lieu de cela, veuillez envisager d'améliorer la question initiale. –

+0

Je ne remplis pas que je vais contre les règles du site. Ma fonction n'est pas appelée, je n'ai rien demandé à ce sujet ma dernière question. @HovercraftFullOfEels –

Répondre

0

Probablement vous avez pas ajouté le EditingChanged sur les deux texfields. Ajoutez ces deux méthodes viewDidLoad

t11.addTarget(self, action: #selector(ViewController.textFieldDidChange(_:)), forControlEvents: UIControlEvents.EditingChanged) 
t12.addTarget(self, action: #selector(ViewController.textFieldDidChange(_:)), forControlEvents: UIControlEvents.EditingChanged) 

Il est à Swift 2.2.

Maintenant, dans cette méthode, vous pouvez ajouter à la fois la valeur Integer textfields.

func textFieldDidChange(textField: UITextField) { 
    //your code 
} 
+0

Ne publiez pas de réponses dans Swift 2. Swift 2 est terminé. Les réponses devraient vraiment être dans Swift 3 au minimum. – rmaddy

+0

Merci. Je vais garder à l'esprit la prochaine fois. –

0

Créer @IBAction pour le changement Editting pour tous les domaines, les mettre à jour @ IBAction est avec le code de fonction selon().