2012-06-22 4 views
0

Salut, je suis assez nouveau à objC et j'espère que quelqu'un peut m'aider.Récupérer des données de NSDictionary, Plist

Je fais une application de localisation d'échantillon. Il a un plist avec locationNames et coordonnées. J'ai lu le plist dans un NSDictionary, j'utilise également un NSarray avec allkeys pour retourner les clés.

Chaque clé contient 2 piqûres, je veux être en mesure de retourner spécifiquement 1 d'entre eux.

Ceci est mon plist:

<dict> 
     <key>orleans</key> 
     <dict> 
      <key>lat</key> 
      <string>100192</string> 
      <key>lon</key> 
      <string>990099</string> 
     </dict> 
     <key>arras</key> 
     <dict> 
      <key>lon</key> 
      <string>122121</string> 
      <key>lat</key> 
      <string>878737</string> 
     </dict> 
</dict> 

Voici mon code:

NSString *myFile = [[NSBundle mainBundle] 
         pathForResource:@"vluchten" ofType:@"plist"]; 


    coordinaten = [[NSDictionary alloc]initWithContentsOfFile:myFile]; 
    vluchten = [coordinaten allKeys]; 


    NSLog(@"coordinaat lon :%@" ,[coordinaten objectForKey:[vluchten objectAtIndex:1]]); 

- qui retourne:

2012-06-22 19:39:27.075 Pigeons[6817:11603] coordinaat lon :{ 
    lat = 100192; 
    lon = 990099; 
    } 

Et je ne veux que la lat valeur retourné (je veux plus tard)

J'espère que quelqu'un peut m'aider s'il vous plaît.

Salutations, jaco

+0

Pensez à marquer la question :) Merci! Réponse – Vinestro

Répondre

2

Votre plist définit un dictionnaire où chaque membre est aussi un dictionnaire, donc:

NSDictionary *arras = [coordinaten objectForKey:[vluchten objectAtIndex:1]]; 
NSString *arrasLat = [arras objectForKey:@"lat"]; 
+0

Merci beaucoup Phillip, c'était ce que je cherchais. – JsChoice

Questions connexes