Domanda

ho bisogno di aspettare (non eseguire il codice) dopo la presentModalViewController fino a quando la vista modale è respinto, è possibile o è un errore concettuale?

-(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;
}
È stato utile?

Soluzione

Quello che dovrete fare è creare un protocollo LoginRegViewControllerDelegate a cui il controller della vista che presenta le aderisce modale View Controller, e hanno il LoginRegViewController (o qualunque sia il suo nome è) mandare un messaggio al suo delegate che appena chiuso / sta andando a chiudere. In questo metodo delegato, il delegato View Controller dovrebbe leggere le impostazioni appena impostati e fare ciò che vuole con loro.

Altri suggerimenti

Per rendere il vostro controller della vista del bambino (vista modale) più flessibile e riutilizzabile è possibile utilizzare NSNotificationCenter. Ecco il riferimento alla classe.

La vista modale dovrebbe inviare una notifica, che sta per essere chiuso. Qualsiasi altro controller, che dovrebbe reagire a questa notifica dovrebbe aggiungere un osservatore allo stesso centro di notifica.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top