Question

Je dois attendre (ne pas exécuter le code) après la presentModalViewController jusqu'à ce que le point de vue modal, il est rejeté, il est possible ou il est une erreur conceptuelle?

-(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;
}
Était-ce utile?

La solution

Qu'est-ce que vous devez faire est de créer un protocole de 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 qu'il vient de fermer / va fermer. Dans cette méthode déléguée, votre délégué View Controller doit lire les paramètres juste ensemble et faire ce qu'il veut avec eux.

Autres conseils

Pour que votre contrôleur de vue de l'enfant (vue modal) plus souple et réutilisable, vous pouvez utiliser NSNotificationCenter. Voici la référence de classe.

Votre point de vue modal devrait afficher une notification, qu'il va être fermé. Tout autre contrôleur, qui doit réagir à cette notification doit ajouter un observateur au même centre de notification.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top