0

このようなネストされたNSDictionaryを持つNSDictionaryがあるとしましょう(簡略化すると、ネストされた辞書は約10個あります)。

key1={
  nesteddictionary={
    nestkey1 = "nested value";
    nestedkey2 = "another value";
  }
  nesteddictionary2={
    nestedkey3 = "want this too";
  }
}
key2="awesome"

呼び出す[dictionary allKeys]と、「key1」と「key2」しか得られません。このようにネストされた辞書内のすべてのキーをループする簡単な方法はありますか?入れ子になったものでも?

4

1 に答える 1

1

再帰関数

- (void) findAllKey:(NSDictionary*)dic
{
    for ( NSString *key in [dic allKeys] )
    {
        NSLog(@"%@",key);

        if ( [[dic objectForKey:key] isKindOfClass:[NSDictionary class]] )
        {
            [self findAllKey:[dic objectForKey:key]];
        }
    }
}

深さ優先探索です

于 2012-05-14T08:08:30.550 に答える