既存の非ARCプロジェクトをARCに移動しようとしています。ビルド設定のObjective-C自動参照カウントフラグをYESに設定しました。
もちろん、これにより、明示的なリリース/自動リリースメッセージの送信に関して多くのエラーが発生しました。コードに含まれていたエラーについては、明示的なリリースメッセージ、deallocブロックなどを削除しました。サードパーティライブラリ(ASIHTTPRequestなど)で生成されたエラーについては、ビルドフェーズ-ソースのコンパイルで必要なファイルに-fno-objc-arcフラグを追加しました。セクション。
ただし、すべてのエラーを修正した後(そしてプロジェクトが正常にコンパイルされた後)、コードにリリースステートメントが残っています。
たとえば、アプリデリゲートでは、次を使用します。
self.loginViewController = [[LoginViewController alloc] init];
self.window.rootViewController = self.loginViewController;
[self.window makeKeyAndVisible];
[self.loginViewController release];
私が理解しているように、これはエラーを引き起こしたはずです。しかし、そうではありません。アプリは意図したとおりに動作しますが、これらのファイルでメモリ管理が適切に行われているかどうかについて疑問が残ります。
AppDelegate.mもLoginViewController.mも-fno-objc-arcフラグが設定されていないため、デフォルトでARCに設定する必要があります。
間違いなく私は何か間違ったことをしている。何を再確認する必要がありますか?
前もって感謝します。