Получить случайный ключ NSDictionary? - PullRequest
2 голосов
/ 02 марта 2012

Привет, сообщество StackOverflow,

<plist>
<dict>
    <key>Non Random Key</key>
    <dict>
        <key>Random Key</key>
        <dict>
            <key>Hello</key>
            <string>Hey</string>
            <key>Banana</key>
            <string>Bread</string>
        </dict>
    </dict>
</dict>
</plist>

Это мой файл Plist ... /this/is/the/path.plist

Теперь я хочу получить строку «Привет» из «Привет».

Решение для неслучайного ключа! Но у меня есть случайный ключ, и это не решение ...

NSMutableDictionary* plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:@"/this/is/the/path.plist"];

NSString *value;
value = [plistDict objectForKey:@"/Non Random Key/Random Key/Hello"];
// value is "Hey"

Но как это работает с этим "Случайным Ключом"?

Заранее благодарим.

И, может быть, вы можете объяснить мне, как я могу установить случайный ключ? Также пример сверху, но вместо «Get» я бы «Set»:)

1 Ответ

1 голос
/ 02 марта 2012

Вы можете перебирать словарь "Неслучайный ключ". это должно помочь: Итерация NSDictionary

NSMutableDictionary* plistDict = [[NSMutableDictionary alloc] initWithContentsOfFile:@"/this/is/the/path.plist"];

NSDictionary *nonRandomDic = [plistDic valueForKey:@"NonRandomKey"];


NSEnumerator *enumerator = [nonRandomDic keyEnumerator];
id key;
while ((key = [enumerator nextObject])) {
  NSString *tmp = [nonRandomDic objectForKey:key];
  NSLog(@"Your String %@ from the Random Key %@", tmp, key);
}
...