アプリケーションのいくつかの場所でシングルトンパターンを使用していますがclang
、コードを分析するとメモリリークエラーが発生します。
static MyClass *_sharedMyClass;
+ (MyClass *)sharedMyClass {
@synchronized(self) {
if (_sharedMyClass == nil)
[[self alloc] init];
}
return _sharedMyClass;
}
// clang error: Object allocated on line 5 is no longer referenced after this point and has a retain count of +1 (object leaked)
私はこれらの設定を次の目的で使用していますscan-build
:
scan-build -v -v -v -V -k xcodebuild
シングルトンのコードは問題ないと確信しています-結局のところ、これはここでスタックオーバーフローとAppleのドキュメントで参照されているコードと同じです-しかし、メモリリークの警告を整理してスキャンしたいのですが-ビルドは成功を返します。