# Xcode : tri sur un fichier PLIST



## scaryfan (4 Mai 2010)

Salut à tous !
Je bidouille un peu sous Xcode et j'ai un souci pour afficher dans un TableView les données existantes dans un fichier PLIST.
Mon fichier PLIST n'a que des entrées 'String'...
Je veux que ma TableView affiche les données 'Value' triées sur 'Key'...
Et je n'y arrive pas... mais ça doit pas être compliqué quand même... 
Merci de votre aide !


----------



## tatouille (4 Mai 2010)

```
keysSortedByValueUsingSelector:@selector(localizedStandardCompare:)
```


----------



## scaryfan (4 Mai 2010)

tatouille a dit:


> ```
> keysSortedByValueUsingSelector:@selector(localizedStandardCompare:)
> ```



Merci je vais essayer ce soir !


----------



## scaryfan (9 Mai 2010)

Je n'y arrive pas...

Voici mon bout de code :
*- (void)viewDidLoad {
    NSBundle *bundle = [NSBundle mainBundle];
    NSString *plistChemin = [bundle pathForResource: @"test" ofType"plist"];
    NSDictionary *dictionnaire = [[NSDictionary alloc] initWithContentsOfFile: plistChemin];
    NSArray *niveauUn = [dictionnaire allKeys];
    NSArray *tri = [niveauUn sortedArrayUsingSelectorselector(compare: )];
    self.donnees = tri;
    [dictionnaire release];
    [super viewDidLoad];
}
*À ce stade, ma Table View affiche les Keys triées dans l'ordre... alors que je cherche à afficher les Values correspondantes...
Lorsque je remplace *sortedArrayUsingSelectorselector(compare: )* par ce que tu me proposes, le simulateur n'affiche rien...


----------



## tatouille (9 Mai 2010)

1- t'es grave man...

```
NSArray *sortedKeys = [dict keysSortedByValueUsingSelector:@selector(localizedStandardCompare:)];

for (key in sortedKeys) {
    NSLog(@"%@", [dict objectForKey:key]);
}
```
2- quand je te donne localizedStandardCompare utilise le au lieu de faire la senpiternelle connerie de classer
des clefs sur une comparaison binaire et non un collator

par exemple:

@"4000"

@"100"

@"0.2"


par exemple 2:

@"Enorme"

@"énorme"

@"Avion"

@"À la prochaine"




ca donne quoi avec ton compare? de merde, arreter de copier les conneries sur les forums.

3- le cerveau est un formidable outil, faut-t-il encore l'utiliser


----------



## scaryfan (9 Mai 2010)

:rateau:

Non, je ne comprends pas trop ton code...

J'ai un tableau PLIST avec :
Key      Value
1          C
4          A
3          E
5          B
6          G

Et je veux que ma TableView donne :
C
E
A
B
G

C'est tout !


----------



## scaryfan (29 Mai 2010)

Une idée ?


----------



## tatouille (30 Mai 2010)

bah oui


----------



## scaryfan (4 Juin 2010)

Génial !!!!


----------

