2011-11-02 6 views
0

データマネージャからデータを取得するメソッドがあります。それは次のようになります。プロパティを持つメモリの保持/解放

- (void)GetData { 
    NSArray *anArray = [datamanager GetData]; // GetData returns an autoreleased array 
    self.MyDataArray = anArray; 
} 

MyDataArrayがプロパティとして宣言されている(非アトミック、保持)

私の質問は、関数データマネージャーのGetDataは、GetDataのがあるときanArrayに対して異なる値を返す、コードの他の場所で変更されますされますと呼ばれる。私はself.MyDataArray = anArray行で混乱しています。私が知る限り、これは初めてanArrayを保持し、GetDataメソッドが再び呼び出された後、別のanArrayが保持されます。これはメモリリークですか?もしそうなら、メモリを漏らさないために何をする必要がありますか?ありがとう。

答えて

0

保持として宣言されているMyDataArrayには、self.MyDataArray = anArrayを実行したときに新しい参照を保持する前に保持する参照を解放する実装があるため、メモリリークはありません。

+0

はい!それを完全に忘れてしまった!ありがとう! –

関連する問題