私は私のアプリでゲームセンターを使用していますが、私はgamecentermanager.mファイルでメモリリークが発生することがわかった:GameCenterManager.mにメモリリークがあるのはなぜですか?
- (void) callDelegate: (SEL) selector withArg: (id) arg error: (NSError*) err
{
assert([NSThread isMainThread]);
if([delegate respondsToSelector: selector])
{
if(arg != NULL)
{
[delegate performSelector: selector withObject: arg withObject: err];
}
else
{
[delegate performSelector: selector withObject: err];
}
}
else
{
NSLog(@"Missed Method");
}
}
リークが起きる(コンパイラの警告の三角形に応じて)performSelector(両方のためにそれらの)セレクタは不明です。私が知りたいことが2つあります
1)私はAppleのウェブサイトの例からこれをそのままコピーしていますので、アップルが作成した場合、コードにエラーが表示されませんか?
2)これはどのように修正できますか?
FYI同様、LLMV Compiler 3.1と標準(armv7)アーキテクチャを使用してXcode 4.3.1を使用しています。私もARCを使用しています。
その他の情報が必要な場合は、事前にお知らせください。
このメソッドを宣言するNSObjectに "偽の"カテゴリを追加することはできませんか?セマンティクスを "スペルアウト"するだけです... – nielsbot
@nielsbot:問題はメソッドの宣言が欠落しているわけではありません。問題は、宣言に関係なく、動的セレクタを使用して呼び出しているため、コンパイラは呼び出すメソッドを知らないことです。 –
もちろん、あなたは正しいです。気にしないで。 – nielsbot