私はアナライザを実行しました。私は(それがカスタムセッターやゲッターを持っていない)性質を持っている:Objective-Cでのメモリ管理プロパティが+1の保持カウントを持つobjc-cオブジェクトを返します。UIGraphicsBeginImageContextWithOptions
@property (nonatomic, retain) NSMutableArray *myArray;
その後、私は後でそれを使用しよう:
if ([[MyClass sharedDelegate].myArray containsObject:"test"])
それは「プロパティは+とObjective-Cのオブジェクトを返すと言います私は以来、このことを理解していない
+(MyApp*)sharedDelegate
{
return (MyApp*)[[UIApplication sharedApplication] delegate];
}
:1「sharedDelegate
は次のように定義され
を、カウントを保持私は保持がどこにあるかわかりません。私は、この方法でプロパティを使用すると、ちょうどmyArray
の値を返すgetterメソッドを使用していると思った。だからメモリリークはどこですか?
その後
UIGraphicsBeginImagecontextWithOptions(container.bounds.size, YES, 1.0);
を指すオブジェクトがリークした:割り当てられたオブジェクトは、後で実行パスで参照されておらず、1
のカウントを保持して、私もこれを理解していないました、またはこれが最初のメモリリークにどのように関係しているかを示します。彼らは無関係のようです。
保持は、セットを保持することを意味し、getを保持しないことを意味します。 – morningstar