2012-09-19 34 views
0

我有一个充满数据的NSDictionary。如果这是PHP它可能被访问的东西,如:目标C中的多维数组

$data = $array['all_items'][0]['name']; 

我该如何做目标c类似的东西? ($array将是一个NSDictionary

+0

我想这里的数据是NSArray,其中是NSDictionary。 – Mil0R3

回答

3

在Objective-C的等效代码是:

id data = [[[array objectForKey:@"all_items"] objectAtIndex:0] objectForKey:@"name"]; 

注意objectForKey:是NSDictionary中的方法,和objectAtIndex:是NSArray中的方法。

在Xcode 4.5的快捷方式,使用LLVM 4.1,是:

id data = array[@"all_items"][0][@"name"]; 

还要注意的是,如果“阵列”是一个NSDictionary实例,你想获得的所有值的字典中的数组,可以使用的NSDictionary的allValues方法:

id data = [array allValues][0][@"name"]; 

当然,allValues返回一个未排序的阵列,通过索引,以便访问该阵列是不是非常有用。更典型的,你会看到:

for (NSDictionary* value in [array allValues]) 
{ 
    id data = value[@"name"]; 
    // do something with data 
} 
0

你应该使用它,

NSString *value = [[multiArray objectAtIndex:1] objectAtIndex:0]; 

你可以看问题here