localizedCaseInsensitiveCompare:
compare avec les règles standard dans la langue actuelle choisie par l'utilisateur, en ignorant le cas. Dans votre cas, vous voulez ignorer les signes diacritiques, pas le cas. Cela signifie que vous devez faire autre chose. Vous devez utiliser compare:options:
et transmettre NSDiacriticInsensitiveSearch
en option. voir here.
Pour trier un tableau à l'aide, vous devez soit utiliser un bloc à l'aide sortedArrayUsingComparator:
, ou mettre en œuvre une méthode de catégorie NSString
et passez ce sélecteur à sortedArrayUsingSelector:
. N'oubliez pas de préfixer le nom de la méthode category afin qu'elle ne chevauche pas une méthode privée dans le framework. Donc, faites quelque chose comme
@interface NSString (myaddition)
-(NSComparisonResult)mySecretDiacriticsInsensitveCompare:(NSString*)string;
@end
Salut merci, je l'ai fait en utilisant la catégorie sur 'NSString'. – flohei