2012-01-31 10 views
0

私はPlistにデータを保存しようとしています.Appleは「適切な場合はデータを保存してください」というAppleの意図的なコメントを置いているため、Delegate .mの "applicationWillTerminate"に最適な場所があると考えました。どこのiOS/iPhoneアプリでデータを保存するのが最適ですか?

しかし、私がiPhone Simulatorでテストしているときにこのメソッドが呼び出されることはありません。私のNSLogステートメントは実行されません。

これは、アプリを終了するときにデータを保存するための最良の場所ですか?もしそうなら、なぜそれが決して呼び出されないように思われるのですか?

答えて

4

iOS 4アプリケーションは、終了する代わりに「バックグラウンド」で入力できるので、applicationWillTerminate:は呼び出されないことがあります。

applicationDidEnterBackground:もお勧めします。両方のデリゲートメソッドでデータを保存して呼び出すメソッドを作成できます。

+0

ありがとうございます - 私はちょうどテストを実行し、それは常に "applicationDidEnterBackground"に行くようです。アプリは実際にいつ終了するのですか? – wayneh

+0

ユーザーがボトムバーでホームボタンを閉じると(ホームボタンをダブルクリックするか、適切に設定されたiPad上で4本の指でスワイプして表示されます)。赤い " - "が表示されるまで、アイコンを押したままにすることができます。 – sidyll

+0

これは特定の世代に特有ですが、私のiPod 2Gはそうしていません。私はデバイス上で自分のアプリケーションを実行し、すぐに "applicationDidEnterBackground"を呼び出してから "applicationWillTerminate"を呼び出します。だから、BGに行くのはおそらく、データが変わるたびに、以下のKellerのように、最善の方法です。ありがとう。 – wayneh

1

変更したPlistを保存するだけで、データが常に最新であることがわかります。

関連する問題