2010-10-04 6 views
1

J'ai un tableau d'objets personnalisés. Une des propriétés de ces objets est un NSString. Je veux trier par cette propriété.Comment trier un tableau d'objets par leur propriété NSString

Parce que c'est un NSString et non un numéro NSNumber est un peu plus difficile. Y at-il une sorte de méthode de classe pour aider dans ce cas? Comment devrait-il être fait?

Répondre

4

Il est en effet. NSArray a une méthode -sortedArrayUsingDescriptors:. Appelez ceci, et passez un tableau d'un descripteur de tri pour votre propriété. Par exemple, si votre propriété est "lastName", alors:

NSSortDescriptor *desc = [[[NSSortDescriptor alloc] initWithKey: @"lastName" ascending: YES]; 
[array sortedArrayUsingDescriptors: [NSArray arrayWithObject: desc]]; 
+0

Cela fonctionne pour un tableau de NSStrings. Je parle d'un tableau d'objets qui ont une propriété NSString. –

+1

@awakeFromNib: Non, cela fonctionne pour un tableau d'objets qui ont une propriété NSString appelée 'lastName'. Cela ne fonctionnera pas avec un tableau de NSStrings, car ils n'ont pas de propriété 'lastName'. – Chuck

+0

Je l'ai eu à travailler en utilisant sortUsingDescriptors à la place. Avez-vous fait une erreur? –

Questions connexes