Si je veux vérifier si un UITextField
ou NSString
est vide, puis-je le comparer avec NULL
ou nil
?Si UITextField ou NSString est vide
Répondre
Aucune des méthodes que vous suggérez n'est infaillible. Les meilleurs tests sont les suivants:
if ([myTextField.text length] > 0) ...
ou
if ([myString length] > 0) ...
moi avons eu un problème similaire mais aucune méthode autre que cela a fonctionné pour moi:
NSString *string = textfield.text;
if ([string isEqualToString:@""]) {
....
}
si je veux vérifier si un champ de texte ou une chaîne est vide je le compare avec NULL ou nul?
No.
Un objet chaîne vide (un objet de chaîne ne contenant pas de caractères) ou un objet champ de texte contenant un objet de chaîne vide ne sont pas les mêmes que nil
, ce qui est sans objet du tout. Vous devez demander à la chaîne (champ de texte) how long it is, ou lui demander whether it is equal to une chaîne vide que vous avez sous la main (@""
).
NULL
, tout en un pointeur nul, doit être utilisé pour des indications générales, pas des pointeurs vers des instances Objective-C (pour lequel vous avez le plus nil
spécifique) ou des classes (pour lesquels vous avez le plus Nil
spécifique).
j'ai testé et trouvé la comparaison de la longueur de la chaîne est beaucoup mieux. Thks pour l'aide – Stefan
Si ma réponse a aidé s'il vous plaît marquer comme réponse. Merci – RunLoop