私は、ユーザーが複数のリストにオブジェクトを追加したり削除したりできるアプリケーションを作成しています。アプリケーションがクラッシュしてもリストを保存するために、変更するたびにディスクに書きたいと思っています。私の現在の計画は、リストを観察し、変更するたびに通知するクラスを作成することです(リストとその中のすべてのオブジェクトはNSCodingプロトコルに従います)。変更するたびにリストを保存する
私はあらかじめいくつのリストがあるのか知っていますが、これらのリストは100アイテム以上の長さに成長するとは予想されません(たいていは10-20となります)。
私が達成したいものを達成するための最良の方法ですか?これは私が心配している問題であっても、アプリケーションが終了したときにこれらのリストのメモを作成するだけでよいのでしょうか? NSMutableArrayをサブクラス化して、変更するたびに保存するクラスを作成することも検討していたため、保存するすべてのリストを認識する必要がありません。
リストを何度もアーカイブするよりもクラッシュを修正するほうがいいかもしれません。高価になる可能性があります –
私が知っている特にクラッシュはありません。私はちょうどあらゆる外縁の場合を説明しようとしています。携帯電話の電源が切れた場合、またはユーザーが外部からアプリを閉じると(最近使用したアプリを表示するためにボタンをダブルクリックしてそこからアプリを閉じるなど)、アプリは通常のクリーンアップメソッドを実行しますか? –
その場合、ホームボタンやロックボタンを押すたびに呼び出されるか、ユーザーが別のアプリケーションに切り替えるため、データを 'applicationWillEnterBackground:'に保存するだけでよいでしょう。 –