2010-08-02 4 views
0

J'ai un NSTimer en cours d'exécution dans un sous-vue d'une vue. Je veux enlever la vue et bien sûr arrêter le chronomètre. Je semble pouvoir enlever la vue (elle disparaît physiquement) mais la minuterie continue de fonctionner, je peux encore voir les instructions de trace.Suppression d'un sous-vue mon horloge continue à fonctionner - iPhone SDK

Ceci est le code pour supprimer la vue ...

for (UIView *subview in [self.myViews subviews]) { 
    NSLog(@"*****REMOVE current views!!!!!!!!!!!!"); 
     // Only remove the subviews with tag not equal to 1 
    if (subview.tag != 1) { 
    NSLog(@"*****!!!"); 
    [subview removeFromSuperview]; 
    } 

Répondre

1

Avez-vous essayé [timer invalidate] juste après [subview removeFromSuperview]?

+0

La minuterie est dans la sous-vue donc il ne devrait plus exister? Je suis nouveau à ceci donc je pourrais me tromper complètement. Sûrement enlever la vue devrait enlever la minuterie? – user157733

+0

@ user157733: La minuterie est juste une minuterie, elle n'est pas dépendante de la vue. –

+0

oh je vois, je ne m'en suis pas rendu compte. Comment puis-je accéder à la minuterie dans la sous-vue alors? J'ai essayé de l'invalider dans la sous-vue de ... viewDidUnload, mais elle n'a jamais été appelée. – user157733

Questions connexes