applicationWillTerminate verzögert wird, gibt es eine schnellere Methode zu verwenden, wenn Aufhören?

StackOverflow https://stackoverflow.com/questions/1412871

Frage

Ich verwende - (void) applicationWillTerminate: (NSNotification *) Benachrichtigung Daten zu speichern, wenn mein Spiel beendet wird, dann geladen, wenn der Benutzer um die Last-Taste der nächste Mal drückt. Das Speichern und Laden Arbeit gut, aber ich habe bemerkt, dass eine Verzögerung zwischen wenn ich drücken Sie die Home-Taste und wenn die Daten gespeichert werden. Jedes Mal, wenn ich verlassen, Relaunch und Last, mit dem Timer des Spiels hat gehalten tickt und Zustände ändern sich vor applicationWillTerminate aufgerufen wird; z.B. Spielobjekte in Bewegung sind an verschiedenen Orten geladen dann, was ich das letzte Mal die Home-Taste sah drücken. Interessanterweise, wenn ich die Home-Taste schnell drücken .. es erscheint das Aufhören der Anwendung zu beenden, und die Musik steuert Pop-up. Allerdings, wenn ich auf diese Weise beenden, wenn ich die Daten erneut zu laden, hat der Timer nicht weiter - Spielobjekte nicht halten mit ihren Geschwindigkeiten bewegen. Gibt es eine Möglichkeit, um dieses?

War es hilfreich?

Lösung

Haben Sie sich UIApplicationWillResignActiveNotification? So etwas wie die folgend an Last / init Zeit in Ihrem Haupt-Controller "oder UIApplication Unterklasse:

[[NSNotificationCenter defaultCenter] addObserver:self /* or whatever */ selector:@selector(applicationWillTerminate:) name:UIApplicationWillResignActiveNotification object:NULL];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top