J'ai un NSArray
de NSDictionaries
, dans lequel je crée un NSArray
de NSStrings
à partir de l'un des éléments du NSDictionary
. J'essaye alors de trier les deux, mais je reçois des résultats légèrement différents des deux sortes.Comment trier un NSArray en utilisant différentes fonctions de tri
le NSDictionary
est simple
NAME
Number
Je suis le premier NSArray
et la création d'une nouvelle NSArray
en utilisant l'élément NOM du dictionnaire.
Je suis alors trier les premier tableau comme celui-ci
NSSortDescriptor * descriptor = [[NSSortDescriptor alloc] initWithKey:@"NAME" ascending:YES]; // 1
sortedByNameArray = [dataArrayOfDictionaries sortedArrayUsingDescriptors:[NSArray arrayWithObject:descriptor]];
Je prends alors le deuxième tableau, ce qui est exactement le même ordre avant la première est triée et trier comme ça
// sorts nicknames
newSortedArray = [nameOnlyArray sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
Et bien que les deux tableaux sont classés par ordre alphabétique localizedCaseInsensitiveCompare:
semble faire un bon travail de tri où mon autre sortedArrayUsingDescriptors:
semble trier seulement en utilisant la première lettre de sorte qu'il n'est pas vraiment trié.
Je voudrais une aide à appliquer localizedCaseInsensitiveCompare
à la NSArray
des dictionnaires .. mais je ne suis pas sûr de savoir comment faire cela étant donné que vous devez accéder à l'élément NOM de chaque NSDictionary
à l'intérieur du premier NSArray
.
Toute aide serait grandement appréciée.