CGPath
を返し、アナライザーの警告を生成するメソッドがあります。このメソッドはプロトコルで宣言されています。ここで警告生成される例示的な実装されている:このメモリ警告を回避するにはどうすればよいですか?
「ライン47に割り当てられ、 『パス』に格納されたオブジェクトの潜在的な漏れ」
- (CGPathRef)createPathForBounds:(CGRect)bounds key:(NSString *)key;
{
if ([key isEqualToString:OvalColumn])
{
CGPathRef path = CGPathCreateWithEllipseInRect(bounds, NULL);
return path;
}
return NULL;
}
ここで使用例であります警告、「呼び出し側によって、この時点で所有されていないオブジェクトの参照カウントの不正な減少」
CGPathRef path = [self.delegate createPathForBounds:bounds key:someKey];
// Use the path to do some drawing
CGRelease(path);
を生成マイメモリー管理がcorrecですt;私は保留したCGPath
を私のプロトコルメソッドから渡しているので、呼び出しブロックでそれを解放しているので、警告を無視することができますが、それらを完全に削除したいと思います。
アナライザを幸せにする命名規則がありませんか? 関数をプロトコルで定義できますか? サブクラス化はどのように機能しますか?
あなたはおそらく、あなたが得ている警告の言葉を開示することができますか、または私たちは推測する必要がありますか? –
申し訳ありません。更新しました。 – kubi
メソッドの名前をpathForBoundsに変更するとどうなりますか?key:?? –