如何访问此NSDictionary中的各个项目?

时间:2013-03-22 00:17:20

标签: objective-c nsdictionary

我说下面有NSDictionary * foo:

complete = 1;
    list =     {
        8213812 =         {
            excerpt = "Lorem ipsum dolor...."
        }
        8810100 =         {
            another = "iasjdiasd..."
        ...

我知道访问“完整”我使用[response objectForKey:@“complete”]但其他人呢?

2 个答案:

答案 0 :(得分:4)

您只需继续访问嵌套词典中的键,直到获得所需内容。对于访问“列表”,毫不奇怪

[[response objectForKey:@"complete"] objectForKey:@"list"]

用于访问列表中的8213812样式的键 - 好吧,这取决于它们的类型。假设它们是字符串,那就是

[[[response objectForKey:@"complete"] objectForKey:@"list"] objectForKey:@"8213812"]

或者,使用更新,更简洁的语法

response[@"complete"][@"list"][@"8213812"]

但它们可能是NSNumbers或其他东西,如果是这种情况,你会使用适当的NSNumber。

答案 1 :(得分:2)

[[[response objectForKey:@"list"] objectForKey:@"8213812"] objectForKey:@"excerpt"]

或者,或者:

NSDictionary *list = [response objectForKey:@"list"];
NSDictionary *inner = [list objectForKey:@"8213812"];
NSString *excerpt = [inner objectForKey:@"excerpt"];

或者,或者:

NSString *excerpt = response[@"list"][@"8213812"][@"excerpt"];

等。