applicationWillTerminateが遅れていますが、終了するときに使用するより速い方法はありますか?

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

質問

-(void)applicationWillTerminate:(NSNotification *)notificationを使用して、ゲームの終了時にデータを保存し、ユーザーが次回ロードボタンを押したときにデータをロードします。保存と読み込みは正常に機能しますが、ホームボタンを押してからデータが保存されるまでに多少の遅れがあることに気付きました。終了、再起動、ロードするたびに、ゲームのタイマーは刻々と変化し続け、applicationWillTerminateが呼び出される前に状態が変化していました。例えば移動中のゲームオブジェクトは、ホームボタンを押して最後に見た場所とは異なる場所にロードされます。興味深いことに、ホームボタンをすばやく押すと、アプリケーションの終了が終了したように見え、音楽コントロールがポップアップします。ただし、データを再度読み込むたびにこの方法で終了した場合、タイマーは継続しませんでした。ゲームオブジェクトはその速度で移動し続けませんでした。 これを回避する方法はありますか?

役に立ちましたか?

解決

UIApplicationWillResignActiveNotification を見ましたか? 「メインコントローラー」または UIApplication サブクラスのロード/初期化時に次のようなもの:

[[NSNotificationCenter defaultCenter] addObserver:self /* or whatever */ selector:@selector(applicationWillTerminate:) name:UIApplicationWillResignActiveNotification object:NULL];
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top