2013-12-16 1 views
0

ARC가 꺼져있어이 경고를 발생시키고있는 라이브러리가 있습니다. 그러나 프로젝트 자체는 ARC를 사용할 수 있습니다. 이 경고를 무시할 때의 의미는 무엇입니까?[super dealloc] 호출이 누락 될 수있는 방법

- (void)dealloc { 
    if (_framesetter) CFRelease(_framesetter); 
    if (_highlightFramesetter) CFRelease(_highlightFramesetter); 
} 
+0

이 dealloc은 라이브러리 또는 프로젝트의 나머지 부분에 있습니까? – yurish

+0

도서관에 있습니다. –

답변

9

dealloc 라이브러리에 라이브러리가 ARC가의 dealloc 메소드 본문의 마지막 줄에 [super dealloc]이 있어야합니다 꺼져있는 경우. 그렇지 않으면 수퍼 클래스가 자원을 해제하고 오브젝트 메모리를 해제 할 수 없습니다.

6

ARC가 해제 된 라이브러리에서 Compile Sources 빌드 단계에 -fobjc-arc 컴파일러 플래그를 추가하여 개별 파일에 대해 ARC를 사용하도록 설정할 수 있습니다. 이렇게하면 경고가 지워집니다.