J'ai un, du moins pour moi, cas étrange ici : J'ai un programme relativement simple qui charge un fichier XML depuis le web, l'analyse et écrit les données dans un tableau de dictionnaires. Chaque dictionnaire représente une ligne du tableau. Le programme fonctionne bien et si j'attache mon simulateur aux instruments et charge la liste, il n'y a pas de fuite de mémoire.
Maintenant, voici la partie étrange : Il existe un bouton permettant à l'utilisateur de recharger la liste. Si vous appuyez dessus, les données précédentes sont effacées, le XML est à nouveau téléchargé et analysé, et ainsi de suite. Si j'appuie sur ce bouton, je ne peux toujours pas trouver de fuite de mémoire. Pourtant, si j'appuie deux fois sur ce bouton, il y a soudainement des fuites tout autour. Je suis très perplexe, comment se fait-il qu'il y ait soudainement des fuites là où il n'y en avait pas auparavant (les fuites n'apparaissent que si le même code est exécuté deux fois) ? C'est d'autant plus étrange que j'utilise une partie de l'exemple de XMLParser d'Apple par exemple, mon code est une copie 1:1 du leur, pourtant quand j'exécute le parseur deux fois, les instruments signalent une fuite dans ce code.
Je suis heureux de recevoir de l'aide, car je ne sais pas vraiment comment m'y prendre. Le code devrait être correct. J'ai déjà essayé "Build and Analyze", il ne révèle rien que je ne verrais pas non plus dans les instruments.
Tous mes vœux, Robin