warten nach PresentModalViewController
-
25-09-2019 - |
Frage
muss ich warten (Sie den Code nicht ausgeführt werden), nachdem die PresentModalViewController bis zum modalen Ansicht es abgewiesen hat, ist es möglich, oder es ist ein gedanklicher Fehler?
-(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;
}
Lösung
Was Sie tun müssen, ist ein LoginRegViewControllerDelegate
Protokoll zu erstellen, auf die die View-Controller, dass präsentiert die Modal-View-Controller haftet, und Ihre LoginRegViewController
haben (oder was auch immer sein Name ist) eine Nachricht an seine delegate
senden, dass es gerade geschlossen / gehen zu schließen ist. In diesem Delegatmethode, Ihre Stellvertretung-View-Controller sollte die Just-Set-Einstellungen lesen und tun, was es mit sich will.
Andere Tipps
Um Ihre Kind-View-Controller (modal-Ansicht) flexibler zu machen und wiederverwendbar Sie NSNotificationCenter
verwenden können. Hier ist die Klassenreferenz.
Ihre modal Ansicht sollte eine Benachrichtigung senden, dass es geschlossen sein wird. Jeder anderer Controller, die auf dieser Meldung reagieren sollten soll einen Beobachter zu dem gleichen Notification Center hinzufügen.