ios - 有没有办法遍历字典?

我知道 NSDictionaries 是您需要 key 才能获得 value 的地方。但是如何遍历 NSDictionary 中的所有 keysvalues,以便知道有哪些键以及有哪些值?我知道在 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/

相关文章:

objective-c - 如何在标题更改时停止不需要的 UIButton 动画?

ios - 从父 iOS 访问容器 View Controller

ios - 在代码中为 UIButton 设置图像

iphone - 接收者类型 *** 例如消息是前向声明

objective-c - 为什么 ARC 仍然需要 @autoreleasepool?

objective-c - Xcode 4.4 发行说明中提到的 "Objective-C Lite

ios - 使用 iOS 将文本复制到剪贴板

ios - Xcode下架构x86_64的重复符号

objective-c - 迭代时从 NSMutableArray 中删除的最佳方法?

ios - 缩放 MKMapView 以适应注释图钉?