2011-02-26 4 views
0

Je fais un tableau de bord pour mon jeu. Et quand je fais un NSLog des données qu'il est comme ceci:NSMutableArray avec NSDictionary aux étiquettes sans les parenthèses environnantes

{ 
    name = TTY; 
    score = "3.366347"; 
} 

Alors ma question est de savoir comment puis-je supprimer ces crochets et aussi simplement saisir le nom (ATS) et le score (3,36 sans les guillemets) et placez-les en variable pour moi de mettre dans les étiquettes.

Actuellement, je peux les placer dans des étiquettes, mais ils ont les accolades persistantes "{" et "}".

Tous les conseils seraient utiles car je suis heureux de chercher plus loin Je ne connais pas le vocabulaire pour le rechercher.

grâce

Répondre

5

Pour NSDictionary si vous voulez obtenir les valeurs que vous utilisez la méthode objectForKey:;

[scoreDictionary objectForKey:@"name"]; 

Dans votre cas, la méthode retourne TTY
Vous pouvez le stocker dans une variable comme normale:

NSString *entryName = [scoreDictionary objectForKey:@"name"]; 

Pour NSArray (et NSMutableArray) vous utilisez la méthode objectAtIndex:;

[scoresArray objectAtIndex:0]; 

Je devine que vous avez beaucoup NSDictionary dans le NSArray, auquel cas vous pouvez combiner les deux méthodes ci-dessus et obtenir;

[[scoresArray objectAtIndex:0] objectForKey:@"name"]; 

qui vous donnera la valeur de name dans le premier dictionnaire du tableau.

De plus, si vous souhaitez accéder à plusieurs valeurs de clé, vous pouvez utiliser;

NSDictionary *entry = [scoresArray objectAtIndex:0]; 
NSString *entryName = [entry objectForKey:@"name"]; 
NSString *entryScore = [entry objectForKey:@"score"]; 
+0

Merci beaucoup cela a fonctionné. Je ne savais pas que tu pouvais le combiner comme ça. – bigubosu

Questions connexes