我知道NSDictionaries你需要 akey才能获得value. 但是我怎样才能遍历 allkeys和valuesa NSDictionary,以便我知道有什么键,有什么值呢?我知道有一种叫做 for-in-loop in 的东西JavaScript。有没有类似的东西Objective-C?
NSDictionaries
key
value
keys
values
NSDictionary
JavaScript
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 pre-10.5,则必须使用,但您仍可以在 10.5 和 iPhone 上使用)是使用NSEnumerator:
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]);