L'autre jour, j'ai vu la différence entre nil et "" (d'après la lettre), donc je vais l'enregistrer.
UITextField (textField
) pour entrer un message et un bouton ( sendButton
) pour l'envoyer
A été mis en œuvre.
Ici, cela n'a pas de sens si le textField n'a pas de valeur, j'ai donc pensé à définir le bouton d'envoi pour qu'il ne puisse être utilisé que lorsque le textField a une valeur. La mise en œuvre est la suivante
@objc func textFieldDidChange(sender: UITextField) {
if textField.text == nil {//Faites attention à cette ligne
sendButton.isEnabled = false
} else {
sendButton.isEnabled = true
}
}
textFieldDidChange ()
est une méthode qui est appelée à chaque fois que la valeur de textField
change.
Vérifions le résultat de l'exécution.
Bien sûr, vous ne pouvez pas appuyer sur le bouton Soumettre car il n'y a pas de valeur dans textField
.
Les caractères sont saisis et le bouton d'envoi peut être pressé.
Le bouton d'envoi peut être pressé même s'il n'y a pas de caractères.
: froncer les sourcils2: Nande? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? : froncer les sourcils2:
À partir des événements ci-dessus, il a été constaté que ** si vous entrez un caractère une fois et que vous le supprimez, ce n'est pas nul **.
J'ai changé l'expression conditionnelle en pensant: "Pourquoi a-t-elle été écrite comme textField.text == nil
en premier lieu?"
@objc func textFieldDidChange(sender: UITextField) {
if commentTextField.text == ""{//Faites attention à cette ligne
sendButton.isEnabled = false
} else {
sendButton.isEnabled = true
}
}
Cette fois, j'ai changé "" (du caractère) en nil dans l'expression conditionnelle et l'ai mis. Vérifiez le résultat de l'exécution.
Il est difficile de le transmettre uniquement avec l'image, mais j'ai pu confirmer un fonctionnement normal.
Concernant UITextField, la gestion des expressions et des éléments conditionnels correspond comme suit.
== nil | == "" | |
---|---|---|
Etat initial | true | true |
Entrez les caractères | false | false |
Supprimer les caractères saisis | false | true |
Cet événement m'a permis de mieux comprendre la différence entre nil et "". Jusqu'à présent, on me disait souvent dans les livres que "nil et" "sont différents !!", et je me suis souvenu de moi, mais c'était la première fois que j'en étais témoin lors de la mise en œuvre.
nil Complètement innocent et sans valeur! Incroyablement pur! !! Eau naturel super belle
Une image qui ressemble à "un état sans aucune valeur" et reproduit artificiellement "un état sans valeur" Sentir que les eaux usées sont filtrées et ramenées à la nature Un peu sale
Si vous rencontrez des problèmes avec cette reconnaissance, je vous l'écrirai à nouveau.
Recommended Posts