Dispatched-Speichervorgänge für applicationDidEnterBackground:

Apples Dokumentation von"App-Zustände und Multitasking" (Abschnitt "Was zu tun ist, wenn in den Hintergrund gewechselt wird"), um zu speichern, wann die App in den Hintergrund wechselt:

Speichern Sie Benutzerdaten und App-Statusinformationen. Alle nicht gespeicherten Änderungen sollten beim Aufrufen des Hintergrunds auf die Festplatte geschrieben werden. Dieser Schritt ist erforderlich, da Ihre App möglicherweise aus verschiedenen Gründen im Hintergrund stillschweigend beendet wird. Sie können diesen Vorgang nach Bedarf von einem Hintergrund-Thread aus ausführen.

Wenn ich eine verteilte Operation starte, z. zum Speichern, was einige Zeit in Anspruch nimmtapplicationDidEnterBackground: wie folgt bekomme ich keine NSLog-Ausgabe, wenn ich die Home-Taste drücke. Nach der Rückkehr zur App wird die NSLog-Ausgabe angezeigt.

- (void)applicationDidEnterBackground:(UIApplication *)application {
      dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
         [self performOperation];
         NSLog(@"Operation finished");
      });
}

Kann ich sicher sein, dass dieperformOperation Methode wurde vollständig ausgeführt oder wurde sie unterbrochen, als die App in den Ruhemodus wechselte?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage