2017-04-15 2 views
1

Comment ce code -quel est le sens du code? UITextFieldDelegate

func textFieldShouldReturn(_ textField: UITextField) -> Bool { 
    if textField.resignFirstResponder() { 
     textField.text = nil 
    } 
    return true 
} 

func textFieldDidEndEditing(_ textField: UITextField) { 
    theTextField.text = textField.text 
} 

Je ne comprends pas, je sais ce qu'il fait mais j'ai besoin d'aide pour comprendre ce que signifient les codes. Je vous remercie! :)

Répondre

0

ShouldReturn doivent être appelés plus tôt que DidEndEditing, si ShouldReturn se termine par vrai. TextField est un premier répondeur, donc textField.text et theTextField.text sont nuls.

Je pourrais supposer que l'idée originale est de copier la valeur de textField à theTextField, et annuler le premier champ. ShouldReturn est appelé pour savoir si l'édition est terminée, et la méthode de démission désactivera textField actuellement active.

Ensuite, après cela DidEndEditing(_ textField va être appelé pour le premier textField (résigné), mais le texte est déjà nul (a été réinitialisé), c'est theTextField.text va être nul.

S'il vous plaît vérifier les UITextFieldDelegate

+0

Merci pour l'aide! – bernan