2016-08-16 90 views
-1

从API,我能够得到以下格式。枚举所有的键和值

{ 
    "status": true, 
    "data": { 
    "29": "Hardik sheth", 
    "30": "Kavit Gosvami" 
    } 
} 

在这一点上,我想获取密钥和两个值。

我怎样才能做到这一点使用NSDictionary?

回答

0

有时,您需要迭代字典中的所有键/值对。为此,可以使用方法-allKeys来检索字典中所有键的数组;这个数组包含所有的键,没有特别的(即随机的)顺序。然后你可以遍历这个数组,并为每个键检索它的值。下面的例子打印出所有的键值在字典中:

void 
describeDictionary (NSDictionary *dict) 
{ 
    NSArray *keys; 
    int i, count; 
    id key, value; 

    keys = [dict allKeys]; 
    count = [keys count]; 
    for (i = 0; i < count; i++) 
    { 
    key = [keys objectAtIndex: i]; 
    value = [dict objectForKey: key]; 
    NSLog (@"Key: %@ for value: %@", key, value); 
    } 
} 

像往常一样,这个代码仅仅是如何枚举在字典中的所有项的示例;在现实生活中,要获得一个NSDictionary的描述,你只需要做NSLog (@"%@", myDictionary);

0

你使用Swift还是Objective-C?

在Objective-C中,您将使用allKeys来获取密钥列表,如@BhavinSolanki在他的答案中所述。

for (key, value) in dictionary { 
    NSLog (@"Key: %@ for value: %@", key, value); 
} 
+0

我使用的Objective-C:

在斯威夫特,你能做到这一点,以及(使用SwiftDictionarykeys财产,myDictinoary.keys

或者你可以通过键和值使用的元组循环 –