2012-07-08 70 views
0

我穿越使用通过二维数组是这样的:遍历二维数组,在语法

for (menuViewController *aSelection in mainDataArray) { 
    ... 
} 

但是,我怎么进入下排的数据? 这下面的代码不能正常工作,但给你的我的意思的想法:

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

在没有它的工作有什么办法第二?如果'选择'确实是一个数组,那么这应该是个诀窍。如果它不是(并且不清楚为什么你将它命名为'menuViewController',如果它是),那你为什么说你有一个二维数组? – 2012-07-08 20:58:46

+0

你确定menuViewController是一个数组而不是一个viewController? – user1447414 2012-07-08 21:01:32

+0

是的,我可以确认mainDataArray defo是一个数组。并且它列出NSlog中的数组。 menuViewController指的是我的视图控制器,但也许我在这里犯了一个错误。什么应该引用?它让我困惑,说实话。 – 2012-07-08 21:08:29

回答

1

如果你是一个阵列中遍历一个数组的,你可以尝试以下?

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

谢谢user76859403,这是我错误的NSArray语法(而不是我的viewController名称)。虽然它的确适用于一维数组遍历! – 2012-07-08 21:17:37

+1

我建议你把你正在遍历的**类型**。我的猜测是** menuViewController **不是NSArray类型。但我不能看到你的代码,你怎么第一次使用它:) – 2012-07-08 21:24:07

1

你为什么不这样做在语句

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

不是一个坏主意,感谢Eli Gregory,但上面的答案解决了我的问题。 – 2012-07-08 21:20:27