2013-12-16 4 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 вы можете включить ARC для отдельных файлов, добавив флаг компилятора -fobjc-arc в фазе сборки Compile Sources. Это очистит предупреждение.

Смежные вопросы