我有一个NSMutableDictionary,其结构如下:

Main Dictionary > Unknown Dictionary > Dictionaries 1,2,4,5,6...

我的问题是检索Unknown Dictionary键并将其设置为变量的最佳方法是什么?这是我尝试过的:

NSEnumerator *enumerator = [myMutableDict keyEnumerator];
id aKey = nil;
while ( (aKey = [enumerator nextObject]) != nil) {
    id value = [myMutableDict objectForKey:aKey]; // changed to `aKey`
    NSLog(@"%@: %@", aKey, value);                // tip via rmaddy
}


如果您不知道密钥中对象的名称,该怎么办?

我想到的另一个想法是填充objectForKey:,然后以某种方式拉出每个键。

for (NSString *object in myMutableDict)
        myArray = [myArray arrayByAddingObject:MainDict];
}


如果有人可以建议一种更好的方法来从NSArray获取对象(未知),我很想学习。

最佳答案

您可以像这样枚举字典:

NSDictionary * someDictionary = ... however you set your dictionary;
[someDictionary enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
    NSLog(@"Key: %@", key);
    NSLog(@"Object: %@", obj);


}];


并设置:

*stop = YES;


当您找到所需的对象时。

10-08 14:52