2012-03-06 6 views
1

サーバーから最大500のNSStringをフェッチし、後で使用するためにそのデータを保存するiPhoneアプリケーションを作成します。iPhoneアプリケーションに500 NSStringの配列を格納する

私の選択肢は、NSUserDefaultsを使用してSQLiteデータベースに格納したり、XMLファイルに格納したりすることです。

これは間違いありませんか? 500 NSStringの配列が大きいですか?どちらの方法を使うべきですか?

+2

CoreData(これは過大ですが)もオプションですが、500文字列のサイズが大きいかどうかが判断されます。 – Joe

+0

"500 NSStringの配列が大きいですか?"すべての文字列が同じように作成されるわけではないので、答えは個々の文字列の長さに大きく依存します。 – dasblinkenlight

+0

csvなどのプレーンテキスト形式で保存することもできます。他の2つよりパフォーマンスが良いと思います。弦の長さによって異なります。長さなしで計算できるすべての固定費用があります。この固定費に関心があるなら、カンマで区切られた長い文字列を簡単に作ることができます。次に、各オブジェクトのオーバーヘッドを減らします。処理が必要な場合は、簡単に分割することができます。 – evanmcdonnal

答えて

3

NSUserDefaultsは、少量のアプリケーション状態および/または環境設定を対象としています。

SQLiteは問題ありませんが、RDBMS機能を使用していない場合は、過剰な可能性があります。内部的には、Core DataはSQLiteを使用します。あなたがオブジェクトグラフに興味がないなら、Core Dataは信じられないほどの過剰です(また、オーバーヘッドの大部分を持っています)。

XMLは、任意に構造化されたデータを格納するためのものです。あなたのデータには固有の構造がありますか、まったく500文字列のリストだけですか?構造体がない場合、XMLは過剰であり、解析する必要があります。これは、ほんのわずかな量のコードを意味します。

plistとNSKeyedArchiverの2つのオプションがあります。私はそれらを読んであなたにそれを残します。

個人的には、テキストファイルを使用していますが、データの性質やその処理について十分な情報を提供していないことが条件です。

3

あなたは簡単にファイルにあなたの文字列を格納する

NSArray initWithContentsOfFile: 

NSArray writeToFile: 

を使用することができます。

関連する問題