2010-10-13 6 views
1

Je dois commander un ensemble de chaînes dans un tableau selon un ordre prédéfini, par exemple, Si mon tableau contient le champ [a, b, c, d], je dois ordonner les éléments dans un ordre prédéfini. c, a, b, d] .Si le tableau source manque un élément, alors je dois le commander de manière prédéfinie comme si le tableau source contient [a, c, d] alors j'ai besoin du résultat comme [c, a, d], Est-ce possible en utilisant NSPredicate dans iPhone SDK.Tableau de chaînes de commande

Merci à l'avance

Répondre

0

Vous pouvez trier votre tableau avec un NSSortDescriptor comme:

NSSortDescriptor *order = [[NSSortDescriptor alloc] initWithKey:@"key" ascending:YES]; 
NSArray *sorts = [[NSArray alloc] initWithObjects:order,nil]; 

NSArray *sortedArray = [myArray sortedArrayUsingDescriptors:sorts]; 
[sorts release]; 
[order release]; 

Vous créez un tableau de descripteurs de tri qui sont appliquées dans l'ordre.

Vous pouvez également trier en utilisant un sélecteur, voir cette réponse pour plus d'options: How to sort an NSMutableArray with custom objects in it?

1

Je venais d'utiliser construit de NSString en comparaison: Méthode:

NSArray *newArray = [oldArray sortedArrayUsingSelector:@selector(compare:)];