Получение всего значения от NSDictionary (глубоко) - PullRequest
0 голосов
/ 09 октября 2009

У меня есть словарь, подобный этому:

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

Спасибо

Thierry

1 Ответ

0 голосов
/ 11 октября 2009

Примерно так должно работать:

- (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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...