Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 遍历二维数组,在语法中使用for_Objective C_Cocoa_Nsarray_Fast Enumeration - Fatal编程技术网

Objective c 遍历二维数组,在语法中使用for

Objective c 遍历二维数组,在语法中使用for,objective-c,cocoa,nsarray,fast-enumeration,Objective C,Cocoa,Nsarray,Fast Enumeration,我正在遍历一个二维数组,如下所示: for (menuViewController *aSelection in mainDataArray) { ... } 但是,如何访问较低阵列的数据? 以下代码不起作用,但让您了解我的意思: for (menuViewController *aSelection in mainDataArray) { NSLog(@"Data: %@", [aSelection objectAtIndex:2]); } 如果在数组中遍历数组,可以尝试以

我正在遍历一个二维数组,如下所示:

for (menuViewController *aSelection in mainDataArray) {
    ...
}
但是,如何访问较低阵列的数据? 以下代码不起作用,但让您了解我的意思:

for (menuViewController *aSelection in mainDataArray) {
    NSLog(@"Data: %@", [aSelection objectAtIndex:2]);
}

如果在数组中遍历数组,可以尝试以下操作吗

for (NSArray* aSelection in mainDataArray) {
    NSLog(@"Data: %@", [aSelection objectAtIndex:2]);
}

你为什么不在声明中说几句呢

for (NSArray* aSelection in mainDataArray) {
    for (NSArray* bSelection in aSelection) {
        //Do something innovative :)
    }
}

它以什么方式不起作用?如果
aSelection
确实是一个数组,那么就应该这样做了。如果不是(也不清楚为什么您要将其键入名为
menuViewController
,如果是),那么为什么您要说您有一个二维数组?您确定menuViewController是一个数组而不是viewController吗???是的,我可以确认mainDataArray defo是一个数组。它在NSlog中列出了阵列。menuViewController引用了我的视图控制器,但可能我在这里出错了。这应该指什么???老实说,这让我很困惑。谢谢用户76859403,我弄错的是NSArray语法(将我的viewController名称放在那里)。虽然它确实适用于一维数组遍历!我建议您输入您正在遍历的类型。我猜menuViewController不是NSArray类型。但是我看不到你第一次使用它的代码:)这主意不错,谢谢Eli Gregory,但是上面的答案解决了我的问题。