2010-09-16 6 views
0

je crée un tableau avec les noms de chaîne comme indiqué ci-dessouscomment trier tableau de chaînes

NSMutableArray *strings = [[NSMutableArray alloc]init]; 
[string addObject:@"string1"]; 
[string addObject:@"string2"]; 
[string addObject:@"string3"]; 
[string addObject:@"string4"]; 

et créer un bouton. Chaque fois que je clique sur le bouton, les chaînes sont échangées, comment puis-je faire cela?

+0

duplication possible de [Comment trier un NSMutableArray de NSMutableArrays contenant NSStrings?] (Http://stackoverflow.com/questions/1103317/how-can-one-sort-an-nsmutablearray-of-nsmutablearrays-containing- nsstrings) –

+0

Voir aussi [Comment trier un NSMutableArray avec des objets personnalisés?] (http://stackoverflow.com/questions/805547/how-to-sort-an-nsmutablearray-with-custom-objects-in-it –

Répondre

5

EDIT:

On dirait que vous avez vraiment pas le manque de connaissances de base. Vous pouvez appeler cette méthode dans NSArray après avoir ajouté vos objets:

Cette méthode est la plus simple façon de faire votre travail:

NSArray *sortedStrings = [strings sortedArrayUsingSelector:@selector(compare:)]; 

En savoir plus sur sortedArrayUsingSelector:

0

Vous pouvez voir NSArray class reference sur les méthodes suivantes.

Tri

  • sortedArrayHint
  • sortedArrayUsingFunction: Contexte:
  • sortedArrayUsingFunction: Contexte: indice:
  • sortedArrayUsingDescriptors:
  • sortedArrayUsingSelector:
  • sortedArrayUsingComparator:
  • sortedA rrayWithOptions: usingComparator:

En ce qui concerne votre problème, vous pouvez trier les chaînes par
[strings sortedArrayUsingSelector:@selector(compare:)].

+0

[string triedArrayUsingSelector: @selector (compare :)] J'essaie d'utiliser ceci mais les chaînes ne sont pas échangées. – MaheshBabu

+0

Est-ce que votre chaîne ressemble vraiment à ce qui précède? Est-il localisé dans certaines langues spécifiques (par exemple chinois, japonais)? – vodkhang

+1

La méthode fonctionne correctement, mais vous ajoutez les chaînes à NSArray dans un ordre déjà trié. essayez de mettre "string4" en première position puis exécutez. – vaitrafra