2010-12-14 78 views
0

pourrait vous jeter un oeil à ce morceau de code provenant de « Fuites instruments »: alt textiPhone - encore une autre mémoire unsolvable fuite

L'outil indique une fuite de mémoire dans la chaîne temp qui est soulignée en pointillés. Ou Je le libère juste après l'avoir utilisé.

En outre, la bibliothèque responsable semble être Foundation, mais encore dans la stacktrace c'est le dernier appel dans mes projets. Je veux juste corriger cela. Peut-être que je ne peux pas?

Merci d'avance.


La fuite ne présente pas avec le dispositif.

Je suis désolé mais j'ai oublié de mentionner que la fuite est apparue dans le simulateur. Je suis toujours curieux de savoir si c'est un bug connu ou quelque chose?

+0

Vous ne avez pas réellement besoin de 'temp', vous pouvez le faire : 'NSString * val = [[NSString alloc] initWithFormat: @"% s ", sqlite3_column_text (selectStatement, j)];' –

+0

En fait, j'ai testé toutes sortes de possibilités. C'est mon pote qui m'a dit d'essayer. J'ai testé avec votre code, avec: '[NSSTring stringWithFormat: ...', et d'autres choses ... –

+0

En fait, je pense que c'est un bug connu ... la piletrace pointe vers la classe NSStringPlaceHolder. Il est utilisé lors de la création d'une chaîne avec des espaces réservés variables: '% s','% @ '... Qu'en pensez-vous? –

Répondre

0

Des fuites apparaissent parfois dans le simulateur et n'apparaissent pas sur l'appareil. Si vous ne voyez pas de fuite sur l'appareil, ne vous inquiétez pas.

Cependant, je vous recommande de regarder dans les versions autoreleased des différentes chaînes appels que vous utilisez, comme [NSString stringWithFormat:] et disant simplement:

temp = @"%s";