3

これは単なる理論上の問題です。アプリの実際の問題から生まれましたが、アプリケーションから問題を再設計しました。しかし、疑問は残ります:

アプリ デリゲートでシングルトン オブジェクトをディスクに書き込み、ビュー コントローラーで呼び出すapplicationWillTerminate:場合、どちらが最初に発生しますか? データがシングルトンに書き込まれ、次にシングルトンがディスクに書き込まれ、アプリが終了しますか? または、シングルトンがシリアル化されてからシングルトンが更新されるという逆のことが起こりますか(さらに悪いことに)、またはシリアル化に時間がかかりすぎると、一定の時間が経過するとアプリが終了しますか (さらに悪い!)?NSNotificationCenterupdateSingletonDataUIApplicationWillTerminateNotification

これは、スプリングボードの内臓に対する私の理解の欠如を示していると思います...ここで光を当てることができる人に感謝します。

4

2 に答える 2

4

ここで注意すべき点がいくつかあります。

  1. 彼らはそれを行うコードを書いたので、これらが起こる順序を知っているのはAppleだけです。

  2. これらが発生する順序を気にする必要はありません。気にする場合は、コードの設計が不適切です。

実際には、特定のデバイス、特定の iOS バージョンなど、どのような順序で発生するかを確認できます。

しかし、実際には、それらがどのような順序で発生するかは気にする必要はありません。その音から、に保存する前にView Controllerに送信してデータを書き込むか、View Controllerにデータの書き込みapplicationWillTerminate:後に保存を処理させる必要があります.

于 2012-02-16T00:15:04.627 に答える