小编典典

有没有办法遍历字典?

all

我知道NSDictionaries你需要 akey才能获得value. 但是我怎样才能遍历 allkeysvaluesa
NSDictionary,以便我知道有什么键,有什么值呢?我知道有一种叫做 for-in-loop in
的东西JavaScript。有没有类似的东西Objective-C


阅读 60

收藏
2022-06-18

共1个答案

小编典典

是的,NSDictionary支持快速枚举。使用 Objective-C 2.0,您可以这样做:

// To print out all key-value pairs in the NSDictionary myDict
for(id key in myDict)
    NSLog(@"key=%@ value=%@", key, [myDict objectForKey:key]);

另一种方法(如果您的目标是 Mac OS X pre-10.5,则必须使用,但您仍可以在 10.5 和 iPhone
上使用)是使用NSEnumerator

NSEnumerator *enumerator = [myDict keyEnumerator];
id key;
// extra parens to suppress warning about using = instead of ==
while((key = [enumerator nextObject]))
    NSLog(@"key=%@ value=%@", key, [myDict objectForKey:key]);
2022-06-18