2010-10-19 3 views
0

Mon contrôleur de vue modale n'appelle pas sa méthode dealloc lorsqu'il se ferme. Je l'ai présenté en utilisant:La méthode Dealloc n'est pas appelée dans rejectModelViewController?

ViewController * vl = [[ViewController alloc] initWithNibName:@"ViewController" bundle:[NSBundle mainBundle]]; 
self.viewLink = vl; 

[mainMenu stop]; 
[mainMenu setCurrentTime:0.0]; 

[vl release]; 

[self presentModalViewController:viewLink animated:NO]; 

Des idées?

Merci,

Martin

Répondre

0

En supposant viewLink est un @property(retain), il n'est pas parce que désallouée objet en conservant le contrôleur de vue modal.

+0

Merci. Donc, je devrais libérer viewLink quand je reviens de mon contrôleur de vue modale? Quelle est la meilleure façon de faire cela - devrais-je faire [auto-release] dans le contrôleur de vue modale? – GuybrushThreepwood

+0

@Ohnomycoco: Vous devriez régler 'viewLink' à' nil' quand vous en aurez fini. – Chuck

+0

Merci. Comment est-ce que je peux time time self.viewLink = nil à feu quand le modalviewcontroller est fermé? – GuybrushThreepwood

2

Vous n'avez pas vraiment besoin de définir viewLink car lorsque vous présentez un contrôleur de vue modale, une référence à celui-ci sera stockée dans self.modalViewController. Cela sera automatiquement réglé à nil une fois que vous avez quitté le contrôleur et que l'animation de rejet est terminée.

+0

Merci. J'ai essayé le réglage suivant et il se bloque maintenant viewLink = [[ViewController alloc] initWithNibName: @ "ViewController" bundle: [NSBundle mainBundle]]; \t \t \t [mainMenu stop]; \t [mainMenu setCurrentTime: 0.0]; \t \t [version de ViewLink]; \t \t [self presentModalViewController: viewLink animé: NO]; – GuybrushThreepwood

+0

Eeeeh ne pensez-vous pas que vous devriez libérer viewLink APRÈS avoir appelé presentModalViewController? ;-) Maintenant, vous le libérez avant qu'il ne soit utilisé! –

Questions connexes