2012-01-26 4 views
0

は、いくつかの永続データを保存する必要があります。データには100〜200の単一値エントリを持つ3つまたは4つの配列しか含まれません。永続メモリはより良い選択ですか?

(array) data 
(
    (
    (dictionary) key -> value 
) 
    (
    (dictionary) key -> value 
    (
    //etc 
) 

これらはピッカーで表示するだけの単純なリストです。

これまでのところ、NSUserDefaultを使用して1つの辞書の値を保存していましたが、この新しいデータで十分かどうか、コアデータの使用を検討する必要がありますか?

この時点では、私は自分のプログラムがそれ以上のデータを傷つける必要はありません。

答えて

1

本当にタスクに依存します。

あなたはこれらの質問に答える必要があります。このデータは

  1. を変更する必要がありますどのくらいの頻度?
  2. このデータをどのくらいの頻度でクエリする必要がありますか?
  3. このデータにはどのような種類のクエリを使用しますか?私の知る限り見るよう

、あなただけのピッカーでそれらを表示する必要がある場合、あなたは明らかに起動間でこのデータを保存するためにNSUserDefaults、またはplistファイルを使用することができます。

NSArray/NSDictionaryはアプリで使用します。

+0

更新が不定期になり、アクセスが多くて一度アプリケーションの実行あたりだろう(オンデマンドでロードし、そしてこの機能はすべての時間を使用できません)。 コアデータを使用する方法を習得するのではなく、NSUserDefaultsに固執すると思います。ありがとうございます。 – Padin215

0

このアクセス頻度や変更頻度はどのくらいですか?私はNSUserDefaultsが問題ないと思います。

2

NSUserDefaultsは、あなたが説明したデータの使用に問題があってはいけません。

つまり、理想的な解決策ではありません。 NSUserDefaultsは本当にユーザーの好みに対処することを意図しています。したがって、これらの値がプリファレンスでない場合、NSUSerDefaultsは実際にはそれらの場所ではありません。 (動作しないとは限りません)

CoreDataはあなたの状況には少し残酷すぎるかもしれませんが、あなたのベルトの下でその技術を身に付けるには初心者の学習曲線に値するかもしれません。

また、データが一貫している場合は、NSArrayまたはNSDictionaryクラスを使用することもできます。

NSUserDefaultドキュメント - http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSUserDefaults_Class/Reference/Reference.html

関連する問題