2011-08-10 14 views
5

I次のコード行だ:だからIOS:このメモリリークの警告を解決する方法を

Potential leak of an object allocated on line 176 

mainLayer.shadowColor = CGColorCreate(CGColorSpaceCreateDeviceRGB(), components); 

を私は>それは私に警告を与えるXcodeで製品 - 分析を実行するとCGColorを解放しないことを意味します。したがって、私は良い解決策が次のようになると考えました:

CGColorRef shadowColor = CGColorCreate(CGColorSpaceCreateDeviceRGB(), components); 
mainLayer.shadowColor = shadowColor; 
CGColorRelease(shadowColor); 

しかし、私はまだ同じリーク警告を受け取ります。問題を修復するにはどうしたらいいですか?あなたが割り当て解除を担当しているオブジェクトを返す任意の変化による

CGColorSpaceCreateDeviceRGB() 

答えて

16

あなたは色空間を解放するためにも必要があります。

CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB(); 
CGColorRef shadowColor = CGColorCreate(colorspace, components); 
mainLayer.shadowColor = shadowColor; 
CGColorRelease(shadowColor); 
CGColorSpaceRelease(colorspace); 
1

は、このですか?私はCGColorSpaceRelease()のような関数があることを思い出しました。

関連する問題