저는 Objective-C를 처음 접했고 메모리 관리에 많은 어려움을 겪었습니다. 나는 물체, 예를 들어있는 NSArray * myArray의를 가지고 있고, 나는이nsobject init을 두 번 이상 호출하면 어떻게됩니까? 보유 수를 늘리나요?
myArray = [[NSArray alloc] initWithObjects:obj1,obj2,obj3,nil];
을 할 경우 내가 뭔가를하고 그리고 난 새로운 객체를 포함 할 수 myArray의 원하는 다음 다시
[myArray initWithObjects:obj4,obj5,obj6, nil];
그것을 초기화하기 내가 필요로하는 것처럼 보이지만 메모리 관리 관점에서 올바른 것인가? 보유 개수가 늘어나는가? 두 번 공개해야합니까?
답장을 보내 주셔서 감사합니다. 왜 당신이 말한 것처럼 할 수 있다면 [myArray alloc] init (이 질문은 배열 만이 아니라 모든 유형의 객체를 염려합니다)을 사용해야하는 이유를 설명해주십시오. myArray = [NSArray arrayWithPbjects]; 할당되지 않은 채로 여전히 작동하는 경우 사람들은 alloc을 왜 사용합니까? –
[NSArray arrayWithObjects :]는 [[[NSArray alloc] initWithObjects :] autorelease]에 대한 바로 가기입니다. – Tony