2010-05-21 6 views
0

이 동일한 작업을 수행하는 올바른 방법입니까?objective-c에서 for 루프를 사용하여 배열에 요소를 추가하는 방법은 무엇입니까?

nsmutablearray *myarray1  //have some data in it 
    for (int i=0;i< [myarray1 count]; i++) 
    { 
      myArray2 = [NSMutableArray array]; 
     [myArray2 addObject:i];  
    } 

이 값을 myarray2로 어떻게 인쇄 할 수 있습니까?

+0

다른 배열에 하나의 배열 요소를 추가하려고합니까? – Jim

+0

어떻게 인쇄 하시겠습니까? 디버깅 목적 일 뿐인가요? –

+0

'for' 루프 밖에서'myArray2 = [NSMutableArray array];'문을 옮기고 싶습니다. 그렇게했다면 Jim의 솔루션 인'arrayWithArray : '가 더 나을지라도 코드는 배열을 복사 할 수 있습니다. –

답변

2

당신이 다음 코드를 다음 사용하는 다른 배열 한 배열의 요소를 복사하려는 경우 :

NSMutableArray *secondArray = [NSMutableArray arrayWithArray:firstArray]; 

을 당신이 요소를 인쇄 할 수 있습니다 배열에 저장된 데이터에 따라 다음 요소 값을 인쇄합니다.

즉, 배열이 문자열 객체를 포함하는 경우 당신은 다음과 같이 인쇄 할 수 있습니다 : 배열은 모든 사용자 정의 개체를 포함하는 경우

for(int i=0;i<secondArray.count;i++) 
{ 
    NSLog(@"Element Value : %@",[secondArray objectAtIndex:i]); 
} 

을 당신은 다음과 같이 인쇄 할 수 있습니다

for(int i=0;i<secondArray.count;i++) 
{ 
    UserDefineObject *obj = [secondArray objectAtIndex:i]; 
    NSLog(@"Element Value with property value: %@",obj.property); 
} 
0

가장 쉬운 방법 것은 만들 수 있습니다 이전 배열과 동일한 요소를 포함하는 새로운 배열은 NSCopying 또는 NSMutableCopying을 사용하는 것입니다.

NSArray* myArray2 = [myArray1 copy];    // myArray2 is an immutable array 
NSMutableArray* myArray3 = [myArray1 mutableCopy]; // myArray3 is an mutable array 

디버깅 목적을 위해 배열의 내용을 인쇄하려면

:

NSLog(@"myArray2 = %@", myArray2); 

당신이 UI에 대한 예쁘게 인쇄를 원하는 경우에, 당신은 다른 제안으로 통해 반복해야합니다.

관련 문제