aspettare dopo presentModalViewController
-
25-09-2019 - |
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;
}
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.