2012-05-10 4 views
0

안녕하세요 내가 복사하려고하는 배열을 누른 다음에서 요소를 제거합니다. 문제는 내가 복사에서 요소를 제거하지만 그것은 또한 원래 배열에서 요소를 제거 생각합니다. 나는 무슨 일이 벌어지고 있는지 전혀 모른다. Im는 객관적인 C에 새로운 그래서 어떤 도움을 많이 주시면 감사하겠습니다.객관적인 C 배열 어떻게 든 연결

NSArray *newarray = appDelegate.orginalArray; 

[newarray removeObjectAtIndex: 2]; 

개체를 제거한 후 배열을 보면 newarray와 orginalArray에서 제거 된 이유는 무엇입니까?

많은 감사합니다.

답변

2

이것은 사본을 작성하지 않습니다. newArrayappDelegate.originalArray은 모두 동일한 개체를 나타냅니다. 이 작업을 수행해야합니다 :

또한
NSMutableArray *newArray = [appDelegate.originalArray mutableCopy]; 

내가 복사본을 보장하기 위해 NSMutableArraymutableCopy를 사용하고 있습니다이 변경 가능한

0

포인터, 친구, 및 가변/불변 (즉, 추가 및 제거 항목 지원) 추상화. newarrayappDelegate.originalArray은 모두 동일한 불변 (변경 불가능) 배열에 대한 포인터 (참조)입니다. 원하는 항목 :

NSArray *newarray = [appDelegate.orginalArray mutableCopy];