1

我有一个从网络服务获得的 NSDictionary。此字典中的每个对象都包含一个数组。我不知道 NSDictionary 中有多少对象,也不知道每个对象的“键”是什么。我只知道它将是一个数组字典。

如何通过字典将对象的名称及其内容读出到数组中?

到目前为止,我与字典的所有交易都可以使用

[anotherDict objectForKey:@"accounts"]

因为我知道“钥匙”;提前期待。

非常感谢,-代码

4

5 回答 5

5

NSDictionary 有方法:enumerateKeysAndObjectsUsingBlock:从 iOS 4.0 开始。这很简单,它接收一个块对象来操作字典中的条目。

一个例子:

[anotherDict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
   NSArray *arr = obj;
   //Do something
}
于 2012-07-05T09:24:27.890 回答
1

NSDictionary类有一个实例方法-allKeys,它为所有键返回一个NSArraywith NSStrings

于 2012-07-05T09:19:18.120 回答
1

最简单的方法是通过 allKeys 实例方法获取 allKeys

NSArray *keys = [myDictionary allKeys];

然后为每个键迭代字典。

for (NSString *k in keys)
{
    id object = [myDictionary objectForKey:k];
}

您还可以按顺序获取键,就好像值是使用排序的

NSArray *sortedKeys = [myDictionary keysSortedByValueUsingSelector:@selector(compare:)];
于 2012-07-05T09:34:16.180 回答
0

你可以这样做 :

NSArray * keys = [dictionnary allKeys];
for (NSString *key in keys) {
   NSArray *tmp = [dictionnary objectForKey:key];
}
于 2012-07-05T09:18:52.630 回答
0

我不是专业人士,但我知道您可以获得字典的所有键

 NSLog(@"%@",[Your_Dictionary allKeys]);

这将给出该字典中的键数组。

于 2012-07-05T09:19:02.193 回答