打印 NSDictionary 的键而不是值

Posted

技术标签:

【中文标题】打印 NSDictionary 的键而不是值【英文标题】:Print keys of NSDictionary instead of values 【发布时间】:2012-04-10 14:46:47 【问题描述】:

我从 json 网络服务下载了一些内容。

是否可以打印键而不是值?以防万一不知道密钥是什么。

【问题讨论】:

How to retrieve all keys from a dictionary?的可能重复 【参考方案1】:
for( NSString *aKey in [dictionary allKeys] )

    // do something like a log:
    NSLog(aKey);

NSLog([dictionary allKeys]);

这应该可以解决问题

【讨论】:

或只是NSLog(@"%@", [dictionary allKeys]) 确实如此。取决于他打算用它做什么。 谢谢!效果很好!但如果有数组,它将不起作用。例如 "postalcodes":["adminCode3":"70805","adminName2":"Politischer Bezirk Reutte","adminName3"]【参考方案2】:

您应该可以使用 NSDictionary 的 keyEnumerator 方法来获取密钥,然后您可以循环它们并将它们打印出来。

借用苹果的例子:

NSEnumerator *enumerator = [myDictionary keyEnumerator];
id key;

while ((key = [enumerator nextObject])) 
    NSLog(@"Do something with the key here:%@",key);

【讨论】:

以上是关于打印 NSDictionary 的键而不是值的主要内容,如果未能解决你的问题,请参考以下文章

获取值的键而不是获取键值? [复制]

NSDictionary setValue:forKey: -- 得到“这个类不是键值编码兼容的键”

Java Dictionary 类存储键值

使用具有多个值的键创建 NSDictionary

从 NSDictionary 获取包含 NSNumber 布尔值的键列表,其中值为 @YES

检查 NSDictionary 中的键 - 不使用布尔 NSNumber 作为值 @iOS8