2010-04-09 4 views
4

Quelqu'un peut-il me dire ce que je fais mal avec la partie inférieure du code. J'étais sûr que c'était bien mais "Fuites" dit qu'il fuit, ce qui change rapidement à la version supérieure s'arrête, mais je ne sais pas pourquoi?iPhone, source de confusion mémoire

// Leaks says this is OK 
if([elementName isEqualToString:@"rotData-requested"]) { 
    int myInt = [[self elementValue] intValue]; 
    NSNumber *valueAsNumber = [NSNumber numberWithInt:myInt]; 
    [self setRotData:valueAsNumber]; 
    return; 
} 

.

// Leaks says this LEAKS  
if([elementName isEqualToString:@"rotData-requested"]) { 
    NSNumber *valueAsNumber = [NSNumber numberWithInt:[[self elementValue] intValue]]; 
    [self setRotData:valueAsNumber]; 
    return; 
} 

toute aide serait appréciée.

gary

+0

En bref, je ne vois aucun problème avec le code que vous avez ici. Comment '[self elementValue]' fonctionne-t-il et que retourne-t-il? – Isaac

+1

Certainement l'air ok. Parfois, les mensonges d'Instruments - et iphoneos a assez de fuites de son propre :-). –

+0

Très étrange en effet. Cela échoue-t-il encore si vous lancez explicitement: '[NSNumber numberWithInt: (int) [[self elementValue] intValue]]'? –

Répondre

1

bug, les outils de contrôle de fuite de mémoire produisent toujours bug