2012-05-13 6 views
0

내가 읽고있는 책에서 NSAutoreleasePool이 유출되는 것에 대해 이야기합니다. 이것은 이미 존재하는 것을 배수시키지 않고 국부적으로 NSAutoreleasePool을 생성하고 배출하는 것을 의미합니까? 즉, NSAutoreleasePool을 두 번 또는 여러 번 배출 할 수 있습니까?NSAutoreleasePool을 두 번 또는 여러 번 배수 할 수 있습니까?

+0

시도했을 때 어떤 일이 발생 했습니까? [문서] (http://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSAutoreleasePool_Class/)을 읽을 때 그 밖의 무엇을 알게 되었습니까? –

답변

2

아니요, 자동 복구 풀을 두 번 이상 배출 할 수 없습니다.

는 로컬 NSAutoreleasePool을 만드는 것을 의미하고 그것을 배수 않는

예. 새 풀을 만들고 배수 시키거나 @autoreleasepool을 사용하십시오.

NSAutoreleasePool을 두 번 또는 여러 번 배출 할 수 없습니까?

수정. The documentation for drain 상태 :

참조 계산 된 환경에서이 메서드는 release와 동일하게 동작합니다. autorelease 풀을 유지할 수 없으므로 (retain 참조), 따라서 수신기의 할당이 해제됩니다. 오토 릴리즈 풀이 drain에 대한 첫 번째 호출 후 해제됩니다 이후

, 그것은 나중에 그것을 어떤 메소드를 호출 결코 유효 drain이 포함되어 있습니다.

관련 문제