2014-06-19 4 views
0

다른 NSMutableArray에 NSMutableArray를 추가하려고합니다. 하지만 내가 뭘 하려는지 중첩 된 배열입니다.NSMutableArray의 NSMutableArray를 단일 객체로

내 현재 코드는 다음과 같습니다

NSMutableArray *array1 = [NSMutableArray arrayWithObjects: @"Red", @"Green", @"Blue", @"Yellow", nil]; 
    NSMutableArray *array2 =[[NSMutableArray alloc] init]; 
    [array2 addObject:array1]; 

이 코드는 배열 2에서 4 개체를 추가되지만 나는 그것이 하나의 개체로 배열 1 추가하려는.

편집 :이 코드는 작동합니다.하지만 제 경우에는 XCode에서 초기화가 잘못되어 4 개의 개체가 추가됩니다. 나는 아직도 그것을 이해할 수 없었다. 따라서이 코드는 올바르게 작동합니다. 그래서 문제는 for 루프에서 초기화에 관한 것이 었습니다.

+0

예상 한대로 NSDictionary를 사용해야 할 수도 있습니다. 배열을 배열에 할당하면 결과는 동일하게됩니다. –

+0

배열 4에 4 개의 객체를 추가 했습니까? 나를 위해 잘 작동하는 코드로 array2의 개수를 기록해보십시오. – Viper

+0

코드가 정확합니다. – iphonic

답변

3

작업.

Printing description of array2: 
<__NSArrayM 0xc46c7b0>( <-- THIS ARRAY HAS 1 OBJECT 
    <__NSArrayM 0xc488770>(<-- THIS ARRAY HAS 4 OBJECTS 
     Red, 
     Green, 
     Blue, 
     Yellow 
    ) 
) 

설명을 인쇄하면 내부 배열의 내용도 인쇄된다는 사실에 혼란을 느낄 수 있습니다.

+0

문제는 for 루프에서 초기화에 관한 것이 었습니다. 질문에 대한 설명도 편집했습니다. 감사! – birdcage

0

시도 :

NSMutableArray *array2 =[[NSMutableArray alloc] initWithArray:array1]; 
+0

이 많은 배열을 추가하는 작업입니까? 나는 array3, array4, array5 ...를 array2에 추가한다는 것을 의미한다. – birdcage

+0

예. 시도 : [array2 addObject : array3]; [array2 addObject : array4]; –

+0

예, 정상적으로 작동합니다. – nburk

0

내가 이것을 사용하고 그 나는/코드를 붙여 복사하고, 네하지 array2는 하나 개의 객체를 추가

NSArray *array1 = @[array2, array3, ...]; 
관련 문제