2012-07-08 157 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