2012-10-30 2 views
3

저는 새로운 iOS 개발 제품입니다. iOS 6의 dealloc에서 내 부동산을 출시해야하나요?객관적인 C 선택기가 dealloc이고 릴리스가 iOS 6에서 아직 사용 중입니까?

그렇지 않은 경우 보유 된 부동산은 어떻게 해제됩니까? 그것은 자동으로 완료됩니까?

이에 대한 지침이 필요합니다.

- (void)dealloc 
{ 
    [super dealloc]; 
} 
@end 

나는 유사한 메시지가 얻을 : 당신은 ARC를 사용하는 경우

ARC forbids explicit message send of 'dealloc' 
+1

귀하의 질문은 실제로 iOS 6과 관련이 없습니다. 귀하가 ARC를 사용하도록 설정했는지 여부는 질문입니다. 메시지에 따라 ARC를 사용할 수 있습니다 (요즘에는 기본값 임). 자세한 내용은 Oscar 링크를 참조하십시오. – rmaddy

답변

5

대답은 예, 참조 카운트 메모리 관리는 여전히 사용하는 경우와 방법 retain, release, autoreleasedealloc되어 여전히 사용합니다.

질문 할 질문은 다음과 같습니다. "사용해야합니까?"

해당 답변은 ARC 사용 여부에 따라 다릅니다. ARC는 Automatic Reference Counting의 약자이며 iOS 5 이후 새 iOS 프로젝트에서 기본적으로 활성화되었습니다. ARC는 LLVM 컴파일러의 기능으로 잘 알려진 cococa 프로그래밍 규칙을 기반으로 코드에 필요한 retain/release/autorelease 메소드 호출을 자동으로 추가합니다 .

'ARC는 명시 적 메시지를 금지합니다.'등의 이유는 해당 호출을 관리하기 때문입니다. 모두 또는 거래입니다. ARC는 모든 메모리 관리를 관리하거나 관리하지 않습니다.

ARC는 프로젝트별로 또는 파일별로 활성화 또는 비활성화 할 수 있습니다. ARC 지원 코드는 Non ARC 지원 코드와 호환됩니다.

ARC가 당신을 위해 무엇을하고 있는지보고 싶다면 Transitioning to ARC Release Notes을 읽어 보시기 바랍니다.

그럼 자동 참조 계산 동영상은 모두 developer.apple.com/videos에서 볼 수 있습니다.

마지막으로, 사용 중이신 경우 공식 LLVM documentation on ARC을 읽으십시오.

관련 문제