我已经将一个项目重构为 ARC。看起来不错,但是有一个对象使用了通知中心。我在自定义 dealloc 方法中删除了观察者。这在非 ARC 项目中运行良好。它也适用于 ARC,但我收到一个疯狂的警告:“方法可能缺少 [super dealloc] 调用。” 在 ARC 项目中,当方法结束时,它会自动为我完成。更好的是:我不能在 ARC 项目中调用它!这一定是一个 XCode 错误,对吧?这是我的代码:
- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
// [super dealloc]; will be called automatically
}
我一直想编写不会引发警告的代码。有没有办法绕过那个黄色感叹号?