我知道 NSDictionaries
是您需要 key
才能获得 value
的地方。但是如何遍历 NSDictionary
中的所有 keys
和 values
,以便知道有哪些键以及有哪些值?我知道在 JavaScript
中有一种叫做 for-in-loop 的东西。 Objective-C
中是否有类似的东西?
最佳答案
是的,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 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]);
https://stackoverflow.com/questions/1284429/