ユーザーが現在編集ビューコントローラにいる場合、ユーザーが自分のアプリケーションを閉じるときに変更を保存できるようにしたい。これを行うには、共有アプリケーションのを観察しています。私のアプリケーションデリゲートでは、applicationWillTerminate:
メソッドを使用して、すべてのコアデータコンテキストを閉じて解放します。アプリケーションが通知を終了し、下書きを保存する(コアデータ)
私が見つけた問題は、のアプリケーションデリゲートのメソッドが、の通知に反応するすべてのオブザーバーがの前にと呼ばれることです。これは、編集ビューコントローラが何かを保存する機会を得る前に、私のコアデータスタックが解放され閉じられたことを意味します。
私は方法を見ることができないので、これは通常どのように克服されます!
多くのおかげで、
マイケル
ユーザが編集したときに下書きを保存する場合は+1、終了時に有用で複雑なものを行う時間はかなり限られています。 –
編集内容の保存に関する興味深い点。私はそれを調べるかもしれない。私自身の通知を投稿することに言及すると、次の実行ループで 'applicationWillTerminate:'コードが終了した後で、それらは取得されません。すべてのコードが同じ(メイン)スレッド上にあるためです。 –
マイケル:あなたはおそらく正しいでしょう - 私は自分の答えを投稿した直後にこれを認識しました(今編集されています)。おそらく編集内容を保存しておくのが一番良いでしょう。したがって、この問題を避けてください。 – Tim