Je souhaite trier un NSMutableArray par ordre alphabétique.
Vous pouvez le faire pour trier NSMutableArray:
[yourArray sortUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
Les autres réponses fournies ici mentionnent l'utilisation de @selector (localizedCaseInsensitiveCompare :)
Cela fonctionne très bien pour un tableau de NSString, cependant l'OP a commenté que le tableau contient des objets et que le tri doit être effectué selon la propriété object.name.
Dans ce cas, procédez comme suit:
NSSortDescriptor *sort = [NSSortDescriptor sortDescriptorWithKey:@"name" ascending:YES];
[yourArray sortUsingDescriptors:[NSArray arrayWithObject:sort]];
Vos objets seront triés en fonction de la propriété name de ces objets.
NSSortDescriptor *valueDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES]; // Describe the Key value using which you want to sort.
NSArray * descriptors = [NSArray arrayWithObject:valueDescriptor]; // Add the value of the descriptor to array.
sortedArrayWithName = [yourDataArray sortedArrayUsingDescriptors:descriptors]; // Now Sort the Array using descriptor.
Ici, vous obtiendrez la liste des tableaux triés.
Utilisez la classe NSSortDescriptor
et reposez-vous, vous obtiendrez tout ici
Peut-être que cela peut vous aider:
[myNSMutableArray sortUsingDescriptors:@[[NSSortDescriptor sortDescriptorWithKey:@"firstName" ascending:YES],[NSSortDescriptor sortDescriptorWithKey:@"lastName" ascending:YES]]];
Tout est selon NSSortDescriptor ...
NSSortDescriptor * sortDescriptor;
sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"Name_your_key_value" ascending:YES];
NSArray * sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSArray * sortedArray;
sortedArray = [Your_array sortedArrayUsingDescriptors:sortDescriptors];