2010-08-02 2 views
1

Je suis sûr que c'est quelque chose de vraiment simple qui me manque. J'utilise makeKeyAndOrderFront: pour ouvrir une fenêtre et cela fonctionne la première fois. Quand je ferme la fenêtre et essaye de l'ouvrir à nouveau, elle se ferme et me donne l'erreur EXC_BAD_ACCESS. Mon code est le suivant:makeKeyAndOrderFront: à nouveau provoque EXC_BAD_ACCESS

- (IBAction)viewScreen:(id)sender { 

[screenView makeKeyAndOrderFront:sender]; 
} 

Je ne peux pas comprendre pourquoi cela se produit et la console de débogage ne dit pas grand chose.

Merci à l'avance

Répondre

8

Pourquoi êtes-vous d'appeler votre variable fenêtre screenView? Cela ressemble à ce qu'il devrait se référer à une vue, pas une fenêtre.

Vérifiez que la propriété "Libérer après fermeture" de votre fenêtre est activée dans IB. Lorsque cette propriété est activée, la fenêtre se libère lorsque tout ou n'importe qui la ferme. Cela peut être pratique, mais si vous avez l'intention de montrer la même fenêtre plus tard, ce n'est probablement pas ce que vous voulez. Plus généralement, vous pouvez utiliser le modèle Zombies d'Instruments pour déboguer des plantages comme celui-ci.

+0

La fenêtre s'appelait screenView parce qu'elle avait une vie en elle, oui je suis d'accord pas un très bon nom. "Relâcher quand fermé" était allumé et l'éteindre a réglé le problème. Merci beaucoup. – nosedive25

Questions connexes