Quelqu'un sait-il comment récupérer des résultats en les triant par ordre alphabétique mais en ignorant la casse?
Réponses
Trop de publicités?Merci pour votre réponse, mais j'ai besoin de trier le résultat d'une simple "requête" ignorant la casse. Votre suggestion s'applique pour la recherche et la comparaison.
SQL parler, j'ai besoin d'un ORDER BY firstName ASC
, et cette commande doit être sensible à la casse pour mon utilisation.
J'ai fait quelques recherches sur Google et j'ai fini la lecture de la NSSortDescriptor de référence de Classe, et j'ai pu trouver la réponse à ma question. La solution est de fixer un sélecteur pour le tri descripteur comme suit:
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"firstName" ascending:YES selector:@selector(caseInsensitiveCompare:)];
J'espère que ce sera utile pour plus de personnes.
Si l'application est localisée dans plusieurs langues, veuillez envisager d'utiliser le sélecteur localizedCaseInsensitiveCompare:
au lieu de caseInsensitiveCompare
. Cela aura pour effet d'éviter que la lettre «é» soit postérieure à la lettre «e».
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"firstName" ascending:YES selector:@selector(localizedCaseInsensitiveCompare:)];
Consultez le guide de programmation NSPredicate , mais utilisez essentiellement [c] pour ignorer la casse:
@"firstName BEGINSWITH[c] $FIRST_NAME"