2012-07-08 3 views
0

내가 통과하고있어에 대한-사용하여 2 차원 배열을 순회 :이 같은 2 차원 배열을 통해 구문

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

그러나 어떻게 낮은 배열의 데이터를 액세스합니까? 이 다음 코드는 작동하지만 당신이 무슨 뜻인지의 아이디어를 제공하지 않습니다

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

문에 대한-두 번째를하지 않는다? 'aSelection'이 실제로 배열이면, 그 트릭을해야합니다. 그렇지 않은 경우 (왜 'menuViewController'라고 입력했는지 명확하지 않은 경우), 왜 2D 배열이 있다고 말합니까? –

+0

menuViewController가 배열이고 viewController가 아닌가? – user1447414

+0

예, mainDataArray defo가 배열인지 확인할 수 있습니다. 그리고 NSlog에 배열을 나열합니다. menuViewController는 내 View Controller를 참조하지만 어쩌면 여기서 오류가 발생했을 수 있습니다. 무엇을 가리켜 야 하는가? 솔직히 말해서 혼란 스러웠습니다. –

답변

1

당신이 배열에서 배열을 통과하는 경우, 당신은 다음을 시도 할 수 있습니까?

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

감사합니다. user76859403, NSArray 구문이 잘못되었습니다 (대신 내 viewController 이름을 사용). 그것이 일차원 배열 횡단을 위해 작동 하였지만! –

+1

나는 당신이 지나가고있는 ** 유형 **을 넣으라고 조언합니다. 내 생각 엔 ** menuViewController **는 NSArray 유형이 아닙니다. 하지만 처음 사용하는 방법에 대한 코드를 볼 수 없습니다. –

1

왜 당신은 어떤 식으로 작동하지 않습니다에서

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

나쁜 생각, 감사합니다 엘리 그레고리,하지만 위의 대답은 내 문제를 해결합니다. –

관련 문제