2009-10-09 48 views
0

我有这样一本字典:充分利用的NSDictionary所有值(深)

<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> 

如何遍历所有的键和获得阵列中的所有值?

这样的:

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

感谢

蒂埃里

回答

0

像这样的东西应该工作:

- (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

非常感谢duncanwilcox – thierryb 2009-10-14 14:07:10