J'ai un tableau nsmutable et que près de 50 -60 objet ayant des noms différents, et je peux trier ce tableau par ordre alphabétique (Est-il possible, comment?)tri tableau mutable dans l'ordre alphabétique
Répondre
pour un simple s J'aime comme ça, j'aime utiliser des descripteurs de tri.
Supposons que vous avez un tableau mutable d'objets dont la classe a une name
propriété NSString:
NSSortDescriptor *sort=[NSSortDescriptor sortDescriptorWithKey:@"name" ascending:NO];
[myArray sortUsingDescriptors:[NSArray arrayWithObject:sort]];
Absolument, vous pouvez utiliser sortUsingSelector:
pour cela:
[myArray sortUsingSelector:@selector(compare:)];
Si votre tableau a des objets personnalisés, alors vous aurez besoin de mettre en œuvre une méthode de tri sur ces objets:
@implementation myCustomObject
...
-(NSComparisonResult) compare:(myCustomObject*) other {
return [self.name compare:other.name];
}
@end
bonne réponse d'une ligne (pour les tableaux simples). – newenglander
approche de TechZen fonctionne bien, mais il fonctionnerait mieux si vous avez utilisé de NSSortDescriptor + sortDescriptorWithKey: croissant: sélecteur :, passage "localizedCompare:" en tant que sélecteur. De cette façon, le tri est localisé dans la langue de l'utilisateur, ce qui peut faire une grande différence dans la comparaison de chaînes.
myArray=[myDict keysSortedByValueUsingSelector:@selector(compare:)];
Simplement travaillé pour moi!
hmm .. quelle est la différence avec les réponses précédentes? – kleopatra
merci. cela a fonctionné – mrugen
Cela commencera par "W" et non par "A". Comment commencer avec "A"? –
J'ai reçu l'ordre croissant des CAPS et des lettres minuscules. Comme "A à Z" puis "a à z". Ce que je dois faire. – user3589771