0

私はこのような1つの機能を持っています

    -(NSMutableArray *)getData
    {
       NSMutableArray *tempArr=[NSMutableArray alloc]init];
      // perform some operation on tempArr
      return tempArr;
    }

上記の例では、nsmutablearray の新しいオブジェクトを作成し、その参照を返す必要があります。現在、すべて正常に動作していますが、インストゥルメント (リーク) で実行すると、「NSMutableArray *tempArr=[NSMutableArray alloc]init];」で 100 % のメモリ リークが表示されます。この行。

これの解決策は何ですか、このスレッドに書いてください

事前にt​​hnx

4

3 に答える 3

3

私は通常これを行います:

return [tempArr autorelease];

ARC への切り替えを検討してください。

于 2012-04-10T13:59:51.390 に答える
2

このような場合は、このような自動リリースを使用する必要があります...

 -(NSMutableArray *)getData
    {
       NSMutableArray *tempArr=[[NSMutableArray alloc]init]autorelease];
      // perform some operation on tempArr
      return tempArr;
    }

これがお役に立てば幸いです。

于 2012-04-10T13:57:13.813 に答える
0

返却時に解放する必要があります。

 -(NSMutableArray *)getData
    {
       NSMutableArray *tempArr=[NSMutableArray alloc]init];
      // perform some operation on tempArr
      return [tempArr autorelease];
   }
于 2012-04-10T13:59:31.490 に答える