Problème de gestion de mémoire
Philippe49
Membre
Le code qui est mis en commentaire provoque un message
objc[7095]: FREED(id): message retain sent to freed object=0x13f580
alors que l'autre marche bien.
Pire : Le message d'erreur n'est pas systématique.
Pourquoi tant de haine ? Le setImage devrait normalement faire un release-retain ?
Le setImage est effectué sur une instance d'une sous-classe de NSCell.
Les images sont dans les ressources.
objc[7095]: FREED(id): message retain sent to freed object=0x13f580
alors que l'autre marche bien.
Pire : Le message d'erreur n'est pas systématique.
-(void) setImageId:(int) imid {<br /> imageId=imid;<br /> switch(imageId){<br />// case 0:[self setImage:[NSImage imageNamed:@"flagged"] ];break;<br />// case 1:[self setImage:[NSImage imageNamed:NSImageNameAddTemplate]];break;<br />// default:[self setImage:[NSImage imageNamed:NSImageNamePathTemplate]];<br /><br /> case 0:[self setImage:[[NSImage imageNamed:@"flagged"] retain]];break;<br /> case 1:[self setImage:[[NSImage imageNamed:NSImageNameAddTemplate] retain]];break;<br /> default:[self setImage:[[NSImage imageNamed:NSImageNamePathTemplate] retain]];<br /> }<br />}
Pourquoi tant de haine ? Le setImage devrait normalement faire un release-retain ?
Le setImage est effectué sur une instance d'une sous-classe de NSCell.
Les images sont dans les ressources.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Tu fais cela comment dans XCode ?
Ouvrir la fenêtre du debugger
Cliquer sur BreakPoints dans la barre de menu
et taper quoi ?