Le tri de tableau(NSArray) dans l'ordre décroissant
J'ai un tableau de NSString objets que j'ai à trier par ordre décroissant.
Depuis je n'ai trouvé aucune API pour trier le tableau dans l'ordre décroissant j'ai approché par manière suivante.
J'ai écrit une catégorie pour NSString comme énumérées ci-dessous.
- (NSComparisonResult)CompareDescending:(NSString *)aString
{
NSComparisonResult returnResult = NSOrderedSame;
returnResult = [self compare:aString];
if(NSOrderedAscending == returnResult)
returnResult = NSOrderedDescending;
else if(NSOrderedDescending == returnResult)
returnResult = NSOrderedAscending;
return returnResult;
}
Puis j'ai trié le tableau à l'aide de la déclaration
NSArray *sortedArray = [inFileTypes sortedArrayUsingSelector:@selector(CompareDescending:)];
Est-ce la bonne solution? est-il une meilleure solution?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser NSSortDescriptor:
Ici, nous utilisons
localizedCompare:
de comparer les chaînes de caractères, et de passerNO
à l'ascendant: option pour trier dans l'ordre décroissant.ou de simplifier votre solution:
L'aide de ce code, nous pouvons trier le tableau dans l'ordre décroissant sur la base de la longueur.