2013-03-22 45 views
0

说我有下面的NSDictionary * foo的:如何访问此NSDictionary中的各种项目?

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

我知道访问 “完整的” 我用[响应objectForKey:@ “完整”]但什么人?

+1

检索内的字典,然后访问它。等等 – 2013-03-22 00:20:41

回答

4

你只要继续访问嵌套字典中的键,直到你得到你想要的。为了访问“清单”,这是勿庸置疑

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

以及访问内部列表8213812式按键 - 嗯,这取决于它们的类型。假设他们的字符串,这将是

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

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

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

但他们可能是NSNumbers或别的东西,并且如果万一你会使用适当的NSNumber。

+0

+1为新语法;) – HAS 2013-03-22 06:05:20

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"]; 

等。