2010-02-25 2 views
1

Je suis Copier mon code ci-dessous: -comment libérer la pile presentModelViewController dans l'iphone?

-(IBAction)referencewindow:(id)sender 
{ 
    frmReferences *reference = [[frmReferences alloc]initWithNibName:@"frmReferences" bundle:nil]; 
    [self presentModalViewController:reference animated:YES]; 
} 

Il y a nombre d'endroits où je suis utiliserai presentModelViewController et mon problème est que la pile montre une fuite de mémoire due à presentmodelviewcontroller. Lorsque nous utilisons presentModelViewController pour appeler une autre plume comme indiqué ci-dessus, alors il suffit de passer à la vue précédente mais la vue précédente est toujours en cours, donc dites-moi quand j'appelle un autre fichier nib en utilisant presentModelViewController alors comment décharger cette vue précédente de la mémoire tout en basculant vers une autre vue, puis sur une autre vue vers la vue suivante.

Répondre

0

Vous construisez une hiérarchie de navigation en utilisant la vue modale actuelle? Cela pourrait fonctionner mais vous devez le sortir un jour.

Je pense que si vous essayiez d'utiliser des règles normales de gestion de la mémoire, cela fonctionnerait. Essayez de revenir de vos vues et ils devraient être libérés, vous verriez la mémoire descendre dans les instruments.

+0

Vous devriez lire la question avant de soumettre quelque chose que vous ne montre évidemment pas avoir une idée de ce qui a été demandé ... –

1

Vous devez libérer votre viewController après appel de la méthode presentModalViewController comme ici:

- (IBAction)referencewindow:(id)sender { 
    frmReferences *reference = [[frmReferences alloc]initWithNibName:@"frmReferences" bundle:nil]; 
    [self presentModalViewController:reference animated:YES]; 
    [reference release]; 
} 

Il y a plus d'informations ici: Modal View Controllers