J'ai plusieurs boutons sur mon principal UIViewController (menu principal) qui crée et ajoute un sous-visualiseur UIViewController en haut du menu principal. Lorsque je supprime la sous-vue, la mémoire de ce contrôleur n'est pas libérée. Comment puis-je libérer instantanément cette mémoire de sous-vues?iPhone - sous-vue dealloc UIViewController lorsque removeFromSuperview
Est-ce que quelqu'un a un exemple? Cela résoudrait tous mes problèmes! Merci d'avance.
Voici comment ajouter un sous-vue
if((UIButton *) sender == gameClassicBtn) {
GameClassic *gameClassicController = [[GameClassic alloc]
initWithNibName:@"GameClassic" bundle:nil];
self.gameClassic = gameClassicController;
[gameClassicController release];
[self.view insertSubview:gameClassicController.view atIndex:1];
}
Je ne publie jamais rien à l'intérieur du code du menu principal ... Où se trouve le code ci-dessus. Je ne suis pas sûr de savoir comment dire à ce fichier que j'ai supprimé gameClassic.h de la vue. Je supprime cette sous-vue par [self.view removeFromSubview]; afin de revenir à mon menu principal. – bbullis21
Fondamentalement, quel est mon problème que j'appelle pour insérer une sous-vue en cliquant sur un bouton dans le menu principal. Une fois le court jeu terminé, je fais un removeFromSubview, la mémoire de cette sous-vue n'est pas libérée immédiatement. Donc, s'ils choisissent un bouton différent dans le menu principal, ils chargent une autre sous-vue et l'objectalloc continue de construire. – bbullis21
Je voudrais temporairement (mettre l'accent sur temporairement) remplacer la fonction de conservation et de publication dans votre classe GameClassic et mettre un point d'arrêt dans chaque classe. De cette façon, vous pouvez voir quand votre instance est conservée et libérée, ce qui vous permet de savoir où les numéros de ref supplémentaires doivent être supprimés. – fbrereto