Domanda


questo è il mio frammento:

- (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]]];

}

La compilazione di questo codice opzione RUN_CLANG_STATIC_ANALYZER con ( Property-> Costruire Opzioni-> Esegui Static Analyzer ), mi mostrano una perdita su [[NSString alloc] ....

  

RUN_CLANG_STATIC_ANALYZER
Attivando questa impostazione causerà Xcode per eseguire lo strumento di analisi statica Clang sulla qualificazione file di origine. Questo strumento supporta attualmente i file C e Objective-C. [RUN_CLANG_STATIC_ANALYZER]


Come posso risolverlo?

grazie in anticipo,
allberto

È stato utile?

Soluzione

destro. Si sta assegnando un oggetto che si possiede (perché hai invocato +alloc), ma poi non si è mai rilasciarlo.

È possibile sostituire tutte le istanze di [[NSString alloc] initWithFormat:...] con [NSString stringWithFormat:...] per riparare la perdita.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top