我有一个从网络服务获得的 NSDictionary。此字典中的每个对象都包含一个数组。我不知道 NSDictionary 中有多少对象,也不知道每个对象的“键”是什么。我只知道它将是一个数组字典。
如何通过字典将对象的名称及其内容读出到数组中?
到目前为止,我与字典的所有交易都可以使用
[anotherDict objectForKey:@"accounts"]
因为我知道“钥匙”;提前期待。
非常感谢,-代码
我有一个从网络服务获得的 NSDictionary。此字典中的每个对象都包含一个数组。我不知道 NSDictionary 中有多少对象,也不知道每个对象的“键”是什么。我只知道它将是一个数组字典。
如何通过字典将对象的名称及其内容读出到数组中?
到目前为止,我与字典的所有交易都可以使用
[anotherDict objectForKey:@"accounts"]
因为我知道“钥匙”;提前期待。
非常感谢,-代码
NSDictionary 有方法:enumerateKeysAndObjectsUsingBlock:
从 iOS 4.0 开始。这很简单,它接收一个块对象来操作字典中的条目。
一个例子:
[anotherDict enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {
NSArray *arr = obj;
//Do something
}
NSDictionary
类有一个实例方法-allKeys
,它为所有键返回一个NSArray
with NSStrings
。
最简单的方法是通过 allKeys 实例方法获取 allKeys
NSArray *keys = [myDictionary allKeys];
然后为每个键迭代字典。
for (NSString *k in keys)
{
id object = [myDictionary objectForKey:k];
}
您还可以按顺序获取键,就好像值是使用排序的
NSArray *sortedKeys = [myDictionary keysSortedByValueUsingSelector:@selector(compare:)];
你可以这样做 :
NSArray * keys = [dictionnary allKeys];
for (NSString *key in keys) {
NSArray *tmp = [dictionnary objectForKey:key];
}
我不是专业人士,但我知道您可以获得字典的所有键
NSLog(@"%@",[Your_Dictionary allKeys]);
这将给出该字典中的键数组。