UIViewController -dealloc méthode n'est pas appelée

Je suis en train de travailler avec Automatique de Comptage de Référence.
J'ai un custom UIViewController sous-classe et à chaque fois que j'appelle -presentViewController: animated:completion: ou de retirer son avis de la superview je voudrais NSLog quelque chose comme "je suis dealloced" donc je sais que le point de vue du contrôleur a été supprimé avec succès. J'ai mis en œuvre la -dealloc méthode de mon point de vue contrôleur. Cependant, j'ai commencé un projet de test où j'ai juste eu deux UIViewController cas (pas de conserver les cycles) et -dealloc n'est pas appelé lorsque j'appuie sur le deuxième UIViewController modal ou quand j'enlève le superview ou lorsque je le supprime de la vue parent contrôleur. Ai-je raté quelque chose ? Dans mon projet d'origine (pas le cas de test) Instruments montre-moi que ces contrôleurs de laisser une empreinte mémoire que je ne peux pas vous débarrasser de.

-viewDidDisappear: fonctionne, mais est-ce à indiquer la méthode de libération de la mémoire ?
Je n'ai jamais eu NSZombieEnabled et je pense que ce problème est résolu dans iOS6.
Il n'est pas clair du tout dans ce que vous avez posté sur Github ce que vous essayez de faire. La suppression d'un contrôleur de la vue de la fenêtre n'est pas désallouer le contrôleur. Vous devriez poster ici, un exemple de ce que vous faites -- montrer tout le code pour le contrôleur, vous pensez qu'il devrait être libéré. Il aide à voir les choses dans leur contexte.
J'ai pensé à enlever le contrôleur du point de vue de libérer le contrôleur ainsi... Mais oui, je suis en train de réellement se débarrasser de toute contrôleur non seulement la vue, de sorte que le point de vue du contrôleur reçoit dealloced.
Comment vous faites cela dépend beaucoup de votre structure. Rejetant présenté un contrôleur, ou sauter un contrôleur hors tension d'une pile de navigation, les deux devraient cause de libération de la mémoire. Aussi, si vous venez de passer de la vue de la racine de contrôleur de la fenêtre, et le vôtre est celui que vous êtes en s'éloignant d', qui va également provoquer d'être libéré.

OriginalL'auteur the_critic | 2013-05-04