Je implémente une méthode pour retourner un dictionnaire dans mon application. Mais je trouve une fuite de mémoire en utilisant un instrument, j'ai essayé de le comprendre, mais je n'arrive toujours pas à le trouver. Quelqu'un peut m'aider?NSDictionary Les fuites de mémoire
Merci à l'avance, voici le code pour que les méthodes:
-(NSMutableDictionary *)initDict
{
NSMutableDictionary *dict = [[NSMutableDictionary alloc]init];
[dict setObject:self.name forKey:@"Name"];
//Some similar set object for key here...
return dict;
}
Je pense que le problème est de allocing mémoire pour dict et non le relâcher. Mais dans la méthode, il semble que je ne peux pas libérer dict. Donc, y a-t-il une méthode pour réparer la fuite?
'dictionary]' est un synonyme de 'init] autorelease]'; vous devriez probablement utiliser cette version au-dessus des appels explicites 'autorelease' parce que l'objet est créé dans la même portée où il est renvoyé/autoreleased, ce qui est le cas d'utilisation prévu de l'initialiseur' dictionary] '(un objet temporaire). – darvids0n
vous avez résolu la dernière de mes 50 fuites de mémoire merci. Je n'ai jamais su cela et je vous en remercie grandement. Je pense que cela doit être mis à jour beaucoup. – Rob