Objective c 目标C中的多维数组
我有一本Objective c 目标C中的多维数组,objective-c,arrays,nsdictionary,Objective C,Arrays,Nsdictionary,我有一本NSDictionary,里面装满了数据。如果这是php,则可以通过以下方式访问: $data = $array['all_items'][0]['name']; 我如何在目标c中做类似的事情?($array将是一个NSDictionary)不幸的是,objective-c版本在语法上不如PHP版本优雅: NSDictionary *array = ...; NSArray *foo = [array objectForKey@"all_items"]; NSDictionary *b
NSDictionary
,里面装满了数据。如果这是php,则可以通过以下方式访问:
$data = $array['all_items'][0]['name'];
我如何在目标c中做类似的事情?(
$array
将是一个NSDictionary
)不幸的是,objective-c版本在语法上不如PHP版本优雅:
NSDictionary *array = ...;
NSArray *foo = [array objectForKey@"all_items"];
NSDictionary *bar = [foo objectAtIndex:0];
NSString *data = [bar objectForKey@"name"];
为简洁起见,您可以在单行上执行此操作,如下所示:
NSString *data = [[[array objectForKey@"all_items"] objectAtIndex:0] objectForKey@"name"];
不幸的是,objective-c版本在语法上不如PHP版本优雅:
NSDictionary *array = ...;
NSArray *foo = [array objectForKey@"all_items"];
NSDictionary *bar = [foo objectAtIndex:0];
NSString *data = [bar objectForKey@"name"];
为简洁起见,您可以在单行上执行此操作,如下所示:
NSString *data = [[[array objectForKey@"all_items"] objectAtIndex:0] objectForKey@"name"];
你应该用它
NSString *value = [[multiArray objectAtIndex:1] objectAtIndex:0];
你可以看看这个问题,你应该用它
NSString *value = [[multiArray objectAtIndex:1] objectAtIndex:0];
您可以查看问题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"];
还请注意,如果“array”是NSDictionary实例,并且您希望获得字典中所有值的数组,则可以使用NSDictionary的allValues
方法:
id data = [array allValues][0][@"name"];
当然,allValues
返回未排序的数组,因此按索引访问数组不是很有用。更典型的是,您会看到:
for (NSDictionary* value in [array allValues])
{
id data = value[@"name"];
// do something with data
}
目标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"];
还请注意,如果“array”是NSDictionary实例,并且您希望获得字典中所有值的数组,则可以使用NSDictionary的allValues
方法:
id data = [array allValues][0][@"name"];
当然,allValues
返回未排序的数组,因此按索引访问数组不是很有用。更典型的是,您会看到:
for (NSDictionary* value in [array allValues])
{
id data = value[@"name"];
// do something with data
}
我认为这里的数据是NSArray,其中是NSDictionary。我认为这里的数据是NSArray,其中是NSDictionary。