2010-05-10 9 views
2

Je dois attendre (ne pas exécuter le code) après le presentModalViewController jusqu'à ce que la vue modale soit fermée, c'est possible ou c'est une erreur conceptuelle?wait after presentModalViewController

-(NSDictionary *)authRequired 
{ 
    //This view write the settings when dismissed (plist) 
    [self presentModalViewController:loginRegView animated:YES]; 
    //Read from the setting file (plist) and send back (it's a delagate method) 
    NSMutableDictionary *ret=[[NSMutableDictionary alloc] init]; 
    [ret setObject:[app.settings get:@"user"] forKey:@"user"]; 
    [ret setObject:[app.settings get:@"pass"] forKey:@"pass"]; 
    return ret; 
} 
+1

Je ne sais pas exactement quelle est votre question. Pourriez-vous le répéter? –

+1

après l'appel à présenterModalViewController l'exécution du code continue. Je voudrais exécuter la ligne après cet appel seulement après avoir rejeté la vue. – Cesar

Répondre

0

Qu'est-ce que vous devez faire est de créer un protocole LoginRegViewControllerDelegate auquel le contrôleur de vue qui présente le contrôleur View Modal adhère, et votre LoginRegViewController (ou quel que soit son nom est) envoyer un message à son delegate que il vient de fermer/va fermer. Dans cette méthode de délégué, votre délégué View Controller doit lire les paramètres de réglage juste et faire ce qu'il veut avec eux.

0

Pour rendre votre contrôleur d'affichage enfant (vue modale) plus flexible et réutilisable, vous pouvez utiliser NSNotificationCenter. Here's the class reference.

Votre vue modale doit normalement être accompagnée d'une notification, elle va être fermée. Tout autre contrôleur qui devrait réagir à cette notification devrait ajouter un observateur au même centre de notification.