Insensible à la casse de comparer avec bouquet de chaînes
Quelle serait la meilleure méthode pour comparer un NSString à un tas d'autres chaînes insensibles à la casse? Si c'est l'une des chaînes de la méthode doit retourner OUI, sinon, NON.
Vous devez vous connecter pour publier un commentaire.
Voici une petite aide de la fonction:
Bien sûr, ce pourrait être grandement optimisés pour différents cas d'utilisation.
Si, par exemple, vous faites beaucoup de recherche une constante bunchOfStrings vous pouvez utiliser un
NSSet
de tenir minuscules versions des cordes et de l'utilisationcontainsObject:
:Juste pour ajouter quelques ajouts de Nikolai réponse:
NSOrderedSame
est définie comme 0Donc, si vous appelez
caseInsensitiveCompare:
sur unnil
objet, vous obteneznil
. Puis vous compareznil
avecNSOrderSame
(qui est 0), vous aurez une correspondance, ce qui est évidemment faux.Aussi, vous devrez vérifier si le paramètre passé à
caseInsensitiveCompare:
doit être non nul. À partir de la la documentation: