Je souhaite détecter si le passage d'un NSString à NSLog renvoie (null)
. J'ai essayé if (string == @"") {do something}"
et if (string == @"(null)") {do something}"
mais aucun ne semble fonctionner. Tout avis serait grandement apprécié!Détection (nulle) dans Objective-C
Répondre
Votre "NSString" est en fait un pointeur sur un NSString
(à savoir un NSString *
). Un pointeur nul en C est simplement un pointeur avec la valeur 0
; en C, 0 est false
, de sorte que ce qui suit est simple et idiomatiques:
NSString *str = ...;
if (str) {
/// str is not null
}
(ps: Vos comparaisons avec @""
et @"(null)"
comparent les adresses des pointeurs NSString, pas les valeurs, de comparer NSStrings, regardez -isEqualToString:
.)
Y at-il une raison d'aller plus loin avec: if (str === NULL)? – pxl
Eh bien, C (et donc Objective-C) n'a pas d'opérateur '===', mais vous êtes libre d'utiliser '==' ou tout autre opérateur booléen. Ce n'est tout simplement pas nécessaire, de la même manière qu'écrire 'if (some_bool == YES)' est la même chose que 'if (some_bool)', avec juste plus de caractères. – kevingessner
@pxi: Il est plus idiomatique dans Objective-C de comparer les objets à «nil» plutôt qu'à «NULL». Ils se résument à la même chose cependant. – dreamlax
if (string == nil) {
do_something;
}
- 1. Analyseur AMF0 dans ObjectiveC
- 2. Personnalisation de writeToFile dans ObjectiveC
- 3. alloca et ObjectiveC Garbage Collector
- 4. Combine chaîne en ObjectiveC
- 5. NSString question ObjectiveC
- 6. MVC utilisé dans la programmation ObjectiveC
- 7. Chargement d'une séquence d'images dans InterfaceBuilder -ObjectiveC
- 8. Reliure ObjectiveC classe C# problème
- 9. Allocation de mémoire dynamique 2D - ObjectiveC
- 10. Valeur nulle dans Go
- 11. Comment résoudre les fuites dans le code suivant? ObjectiveC
- 12. Puis-je placer un sélecteur ObjectiveC @ dans un NSDictionary?
- 13. Détection d'objet dans openCV
- 14. détection d'itinérance dans android
- 15. Différence nulle
- 16. Aider avec le code GCC et ObjectiveC et Cygwin
- 17. Détection d'un changement dans UISwitch
- 18. Détection de visage dans Android?
- 19. Détection des yeux dans MATLAB
- 20. Détection d'image dans une image
- 21. Les tableaux de longueur nulle dans VBScript
- 22. MVC: Le modèle est nulle dans ASPX
- 23. dropdownlist dans la valeur nulle de gridview
- 24. Comparaison nulle de DirectorySearcher dans les filtres
- 25. comment enregistrer la valeur nulle dans Subsonic
- 26. Liaison d'une variable nulle dans un PreparedStatement
- 27. champ keySet dans HashMap est nulle
- 28. this.form est nulle dans mes rails forment
- 29. requête LINQ - date nulle
- 30. nulle erreur d'objet
Ce ne sont pas des comparaisons; ce sont des missions. Donc, ils ne fonctionneraient pas même si c'était en fait la bonne façon de vérifier pour rien. – Chuck
Oups, merci d'avoir attrapé ça. – John