2009-12-11 6 views
0

J'ai une application basée sur la navigation qui a plusieurs vues (Dites racine < - A < - B < - C). Ce que je veux faire est que lorsque les utilisateurs sortent de la vue la plus haute (C) pour voir B, exécuter automatiquement certaines vérifications dans la vue B et si rencontré, aller à la vue A.popViewControllerAnimated ne fonctionnera pas à l'intérieur viewDidAppear

Ce que j'ai fait est le suivant:

Dans la classe B qui est un UITableViewController

- (void)viewDidAppear:(BOOL)animated 
{ 
    [super viewDidAppear:animated]; 

    BOOL completed = NO; 

    // The logic that sets completed is here 

    if (completed) 
    { 
     // OK I want to pop out to the previous view controller (A) 
     [self.navigationController popViewControllerAnimated:YES]; 
    } 
} 

}

ce qui se passe est que le débogage cesse de me dire que NavigationController a déjà été désallouée. Pas si sûr pourquoi

Des idées?

Répondre

0

En supposant que toutes vos propriétés sont (nonatomic, retain) Ensuite, vous devez appeler la version quelque part, peut-être dans votre routine de commutation d'affichage?

0

Toutes mes propriétés sont (nonatomic, retain) mais self.navigationController provient de la superclasse. Ce n'est pas dans ma classe.

Questions connexes