2009-10-09 10 views
0

J'ai un dictionnaire comme celui-ci:Obtenir toutes les valeurs de NSDictionary (profondément)

<dict> 
    <key>ThemeName</key> 
    <string>Theme1</string> 
    <key>AddToFavoritesButton</key> 
    <dict> 
    <key>DownImage</key> 
    <string>heart_selected.png</string> 
    <key>UpImage</key> 
    <string>heart.png</string> 
</dict> 
<dict> 

Comment itérer toutes les clés et obtenir toutes les valeurs dans un tableau?

comme ceci:

res[0] = Theme1 
res[1] = heart_selected.png 
res[2] = heart.png 
... 

Merci

Thierry

Répondre

0

Quelque chose comme cela devrait fonctionner:

- (void)expandDictionary:(NSDictionary *)dict into:(NSMutableArray *)output 
{ 
    for(id key in [dict allKeys]) 
    { 
     id value = [dict valueForKey:key]; 
     if([value isKindOfClass:[NSDictionary class]]) 
     { 
      [self expandDictionary:value into:output]; 
     } 
     else 
     { 
      [output addObject:[value stringValue]]; 
     } 
    } 
} 

- (NSArray *)expandDictionary:(NSDictionary *)dictionary 
{ 
    NSMutableArray *output = [NSMutableArray array]; 

    [self expandDictionary:dictionary into:output]; 

    return output; 
} 
+0

Merci beaucoup duncanwilcox – thierryb

Questions connexes