方法可能缺少[super dealloc]调用



我有一个库正在构建并抛出此警告,因为ARC已关闭。但是项目本身已启用ARC。忽视这一警告意味着什么?

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

如果dealloc在库中并且库已关闭ARC,则解除锁定必须在方法体的最后一行具有[super dealloc]。否则,超类将无法释放其资源并释放对象内存。

在ARC关闭的库中,可以通过在Compile Sources构建阶段添加-fobjc-arc编译器标志来为单个文件启用ARC。这将清除警告。

最新更新