テーブルからいくつかのオブジェクトを保存する必要があります。100 個以下のオブジェクトになります。NSUserDefaults に配列のように格納するのは良い方法ですか? または何か良い方法はありますか?
4 に答える
NSUserDefaults
これを使用して保存することはできますが[[NSUserDefaults standardUserDefaults] arrayForKey:@"key"];
、おそらくすべきではありません。Defaults は、ユーザー設定 (名前の由来) など、非常に少量のデータを保存するように設計されています。これよりも多くのデータを保存したい場合は、 、 、 、またはデータベースを.plists
調べNSDocumentDirectory
てCore-Data
くださいSQLite
。
より良い方法は、NSArray
swriteToFile:atomically:
またはwriteToURL:atomically:
. NSUserDefaults
バイナリとして保存されないため、ロード時に追加の解析時間が必要であり、ディスクへの書き込みに余分な時間が必要です。NSUserDefaults
また、大量のデータを保持するようには設計されていませんが、設定データの小さなセットを保持するように設計されています。
すべてのカスタムデータをNSDictionaryまたはNSArrayに保存します。
次に、辞書または配列をカスタムデータとともにドキュメントディレクトリに保存します。 このリンクをたどってください
深刻なハッキングを引き起こす可能性があるため、NSUserDefaultsにデータを保存することは適切ではありません。
その代わりに、 AppDelegateを使用してデータをグローバルに保存できます。