2010-03-05 4 views
0

Je travaille actuellement sur un projet dans lequel je fais appel autre vue par en dessous de chemin à travers le projet: ---comment libérer presentModalViewController de la pile Mémoire dans l'iphone?

frmImage *frmImageOne = [[frmImage alloc]initWithNibName:@"frmImage" bundle:nil]; 
[self presentModalViewController:frmImageOne animated:YES]; 
[frmImageOne release]; 

Exactement ce que je veux est que lorsque je charge mon application dans le dispositif iPhone il obtient terminé en raison de StackOverflow par presentModalViewController.that n'est rien d'autre que des fuites de mémoire.

Alors, s'il vous plaît, pouvez-vous me dire comment libérer presentModelViewcontroller de la mémoire de la pile par le biais de codes.

Merci à l'avance

+0

Je regarderais dans votre viewWillAppear/viewDidAppear ou un autre code d'installation pour le contrôleur modal pour vous assurer que l'implémentation du super est appelée. – blindjesse

Répondre

2

débordement de la pile n'a rien à voir avec les fuites de mémoire, et vous n'êtes pas le stockage frmImage sur la pile. ObjC ne peut pas stocker d'objets sur la pile. Il stocke uniquement les pointeurs sur la pile; les objets eux-mêmes sont toujours stockés dans le tas dans ObjC.

Si vous obtenez un débordement de pile, alors vous êtes certainement dans une boucle de récursion infinie. Votre pile trace-t-elle des centaines ou des milliers d'images en profondeur des mêmes appels? C'est la cause habituelle.

+0

Battez-moi! Très bonne réponse –

Questions connexes