Le release est-il récursif ?
skimpy
Membre
Bonjour,
Afin d'éviter les problèmes de mémoire, j'ai une question par rapport au release :
Voilà , j'ai un NSMutableArray (appelons-le master) qui contient des objets Toto. Toto a les variables d'instances suivantes :
NSMutableDictionary * dico;
NSMutableArray * child;
child est un tableau qui pointe également sur des objets Toto. Lorsque je fais un [[master objectAtIndex:0] release], cela va me supprimer l'objet en position 0 du tableau master mais est-ce que tous les éléments de "child" vont recevoir aussi le message release ? (sachant que mon dealloc contient un [child release] ... je pencherai pour oui mais c'est pour avoir confirmation)
Merci.
Afin d'éviter les problèmes de mémoire, j'ai une question par rapport au release :
Voilà , j'ai un NSMutableArray (appelons-le master) qui contient des objets Toto. Toto a les variables d'instances suivantes :
NSMutableDictionary * dico;
NSMutableArray * child;
child est un tableau qui pointe également sur des objets Toto. Lorsque je fais un [[master objectAtIndex:0] release], cela va me supprimer l'objet en position 0 du tableau master mais est-ce que tous les éléments de "child" vont recevoir aussi le message release ? (sachant que mon dealloc contient un [child release] ... je pencherai pour oui mais c'est pour avoir confirmation)
Merci.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
De la même manière, un release sur un NSArray qui entraà®ne sa destruction, provoque un release sur tous les objets qu'il contient (puisque lors de la destruction du NSArray, les objets contenus sont de facto libérés).
La réponse est donc oui.
.