時々変更できるオブジェクトのリストがあります。アプリケーションが閉じられたり、バックグラウンドに移動したりするたびに、永続的なキャッシュをデバイスに保存します。 リスト内のオブジェクトのほとんどは変更されないので、リストを保存する最良の方法は何か不思議でした。私は私が考える二つの主要なオプションがあります。NSKeyedArchiver/unArchiverを使用してNSKeyedArchiverは配列の一部だけを符号化します
を - オブジェクトは、私は他のカスタムオブジェクトを保持するシリアル化していますので、これは、最も便利な方法であるので、この方法では、私はちょうどカスタムエンコードを書くことができますそれぞれの方法について説明します。大きな問題は、変更されたオブジェクトのみをシリアル化する方法をGoogleでは見つけられず、毎回リスト全体をシリアライズすることは非常に無駄に思えることです。
SQLiteを使用する - これは私が現在使っていることですが、ここでの最悪の問題は、オブジェクトのプロパティの変更を加えることは非常に複雑で非常にエレガントです。
私はNSKeyedArchiverの便利さを楽しむことができますが、変更されたオブジェクトをシリアル化する方法はありますか?
コアデータの使用を検討しましたか? NSKeyedArchiverは一度にすべてを読み出すことができます。 – koo
はい、しかし、コアデータを実装することは、私のアプリと巨大な過度の大きな変化です。 – Adam
まだNSKeyedArchiverを使用するのに妥当なリストのサイズに関する推奨はありますか?私のリストには約1000〜2000件のアイテムがあり、それぞれ500バイト以下です。 – Adam