2011-01-04 5 views

답변

12

예는

[nextController release] 

달리 오토 릴리즈

ChooseDateView *nextController = [[[ChooseDateView alloc] initWithNibName:@"ChooseDateView" bundle:nil] autorelease]; 
2

[nextController 해제]를 호출 할 필요가?

+1

예. 모든 alloc/retain은 release/autorelease와 쌍을 이루어야합니다. http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/MemoryMgmt/Articles/mmPractical.html#//apple_ref/doc/uid/TP40004447 –

1

예로서 개체를 만들 호출이 켜지지입니다.

소유 한 개체 만 릴리스하거나 자동 출시합니다. 당신은 이름이 는 "ALLOC"또는 "새로운"또는 로 시작하는 방법을 사용하여 만들 경우

당신은 개체의 소유권을 포함 "복사"(예를 들어, ALLOC, NewObject를, 또는 mutableCopy) 또는 에 보관 메시지를 보내면됩니다.

에 개체의 소유권을 양도하는 데 릴리스 또는 자동 릴리스를 사용합니다. autorelease는 " 메시지를 나중에 보냅니다"( 을 이해하려면 "Autorelease 풀"참조). 당신이 메모리를 할당 한 이후

Memory Management Rules

0

, 당신은 개체의 소유자입니다. 또한 할당 후, 해당 객체는 pushViewController를 사용하여 푸시됩니다. 그래서 우리는 안전하게 물체를 놓을 수 있습니다. 및 개체를 소유하고 있기 때문에해야합니다. 자동 갱신 할 수도 있습니다.

관련 문제