0


これは私のスニペットです:

- (id) initWithFrame:(CGRect)frame andConfig:(PGParams*) params 
{

 for (int i=0; i<[conf.map count]; i++) 
  [conf.map replaceObjectAtIndex:i withObject:
      [[NSString alloc] initWithFormat:@"%@&sito=%@", 
       [conf.map objectAtIndex:i], [params sito]]];

 for (int i=0; i<[conf.orto count]; i++) 
   [conf.orto replaceObjectAtIndex:i withObject:
      [[NSString alloc] initWithFormat:@"%@&sito=%@", 
       [conf.orto objectAtIndex:i], [params sito]]];

 for (int i=0; i<[conf.mix count]; i++) 
    [conf.mix replaceObjectAtIndex:i withObject:
      [[NSString alloc] initWithFormat:@"%@&sito=%@", 
       [conf.mix objectAtIndex:i], [params sito]]];

}

このコードをRUN_CLANG_STATIC_ANALYZERオプション ( Property->Build Options->Run Static Analyzer ) でコンパイルすると、 でリークが発生し[[NSString alloc] ...ます。

RUN_CLANG_STATIC_ANALYZER

この設定を有効にすると、Xcode は、適格なソース ファイルに対して Clang 静的解析ツールを実行します。このツールは現在、C および Objective-C ファイルをサポートしています。[RUN_CLANG_STATIC_ANALYZER]


どうすれば解決できますか?

前もって感謝します、
アルベルト

4

1 に答える 1

3

右。所有しているオブジェクトを割り当てていますが (を呼び出したため+alloc)、それを解放することはありません。

のすべてのインスタンスを に置き換えて、リークを修正でき[[NSString alloc] initWithFormat:...]ます[NSString stringWithFormat:...]

于 2010-12-11T19:02:06.917 に答える