3

ここで「オブジェクトのリークの可能性」という警告が表示される理由を誰かに説明してもらえますか?理解できません。ありがとうございました!

-(Code) drawTo:(ContextClass *) trg
{
  CGColorSpaceRef rgbColorspace = CGColorSpaceCreateDeviceRGB();
  CGFloat values[4] = { getRed(colour),
                      getGreen(colour),
                      getBlue(colour), 1.0 };

  trg.storedColourRef = CGColorCreate(rgbColorspace, values);    

  CGColorSpaceRelease(rgbColorspace);

  return OK;
}    

オブジェクトをtrg.storedColourRefに保存しているからですか?...これは別のクラスのプロパティです:

@property (nonatomic, assign) CGColorRef storedColourRef;
4

1 に答える 1

5

はい、それはクォーツカラーを作成CGColorCreate()して外部(?)オブジェクトに渡すためです。コンパイラは、カラーオブジェクトを破棄するために使用される対応する呼び出しを見つけることができなかったためCGColorRelease()、この警告を生成します。

于 2012-08-27T20:35:13.273 に答える