UIApplicationWillEnterForegroundNotification versus viewWillAppear - Muster für die Initialisierung?

8

Ich habe gelernt, dass sich meine App bei Multitasking-iOS nicht gut verhält, wenn beim Beenden der App ein bestimmter ViewController aktiv war. Dieser Ansichtscontroller muss aktuelle Informationen sammeln, um sie anzuzeigen. Bisher wurde der Initialisierungscode zum Sammeln dieser Informationen nur in viewWillAppear abgelegt.

Jetzt habe ich gelernt viewWillAppear wird nicht aufgerufen, wenn die Ansicht vom Hintergrund erscheint.

Da sich die Welt seit dem Senden der App an den Hintergrund möglicherweise geändert hat, muss der Ansichtscontroller neu initialisiert werden. Ich verstehe, dass ich mich für UIApplicationWillEnterForegroundNotification registrieren kann. Dies wird jedoch jedes Mal ausgelöst, wenn die App in den Vordergrund zurückkehrt, unabhängig davon, ob der Benutzer gerade zu diesem bestimmten viewController navigiert.

Haben Sie ein Muster, wie UIApplicationWillEnterForegroundNotification nur verwendet werden kann, wenn der ViewController im Sinne von "wird in Kürze erscheinen" aktiv ist?

    
Miriam 05.01.2011, 17:17
quelle

1 Antwort

7

Registrieren Sie sich für UIApplicationWillEnterForegroundNotification in viewWillAppear: und entfernen Sie die Registrierung in viewWillDisappear: . Auf diese Weise werden Sie nur benachrichtigt, wenn die Ansicht tatsächlich sichtbar ist.

    
Daniel Dickison 05.01.2011, 17:47
quelle

Tags und Links