にカスタムUIView
描画がありdrawRect
ます。
私は C API をよく知らないので、どのようなメモリ ルールが必要なのかわかりません。init
retain
Objective-C のルールは非常に単純で、所有しているものはすべてorを介してリリースすると述べていますcopy
が、C 関数CGGradientCreateWithColorComponents
は Objective-C ではなく、Product > Analyze でリークの可能性があると報告されています。
この関数の結果をリリースする必要がありますか? もしそうなら、どのように? 一般的に、これらの API に関して、手動で解放する必要があるメモリが関数によって割り当てられているかどうかを簡単に知る方法はありますか?
更新:これまでの回答の情報のおかげで、コードは次のとおりです。私はincorrect decrement
今エラーが発生しています:
CGGradientRef theGradient=[self makeGradient:YES];
//do something with theGradient in my drawing
CGGradientRelease(theGradient); // this line Analyze says incorrect decrement of object not owned by caller
そしてmakeGradient
私は持っています:
- (CGGradientRef)makeGradient:(BOOL)red{
CGGradientRef gradient;
//create my gradient
return gradient;
}