プロジェクトを ARC にリファクタリングしました。一見問題ないように見えますが、通知センターを使用するオブジェクトがあります。カスタムの dealloc メソッドでオブザーバーを削除しました。非ARCプロジェクトではうまくいきました。ARC でも動作しますが、「メソッドに [super dealloc] 呼び出しがない可能性があります」というクレイジーな警告が表示されます。ARC プロジェクトでは、メソッドが終了すると自動的に実行されます。さらに良いことに、ARC プロジェクトでそれを呼び出してはいけません! これは XCode のバグに違いありません。これが私のコードです:
- (void)dealloc {
[[NSNotificationCenter defaultCenter] removeObserver:self];
// [super dealloc]; will be called automatically
}
私は常に、警告をスローしないコードを書きたいと思っています。その黄色い感嘆符を回避する方法はありますか?