2012-02-29 6 views
0

現在、一般的に使用されている配列や辞書を.plistファイルに保存しています。ただし、これらのファイルに重複したデータは存在しません。代わりに、データを繰り返すのではなく、データへの参照を格納するために、リレーショナルデータベースの行に沿って何かを実装することができたいと思います。私はplistファイルでこれを行う方法はないと推測していますが、CoreDataはこれに対して過剰なもののようです。このあらかじめ作成されたデータをすべて保存するにはどうすればよいですか?

デフォルト値を提供するためにNSArrayとNSDictionaryをサブクラス化することを考えました。 plistファイルから辞書をロードするのではなく、データを必要とするオブジェクトであれば、これらのNSArray/NSDictionaryサブクラスのいずれかをインスタンス化するだけです(必要に応じてこれらのサブクラスをインスタンス化します)。達成される)。これは健全なアプローチですか、それとも私が気づいていないiOSやXcodeには他にも簡単なツールがありますか?

+0

1つの.plistがデータソースとして使用されています。他の.plistsは最初の.plistへの参照を格納しますか? – ohho

答えて

1

データが変更されない場合は、パフォーマンスに問題がない限り、私はあなたの現在のアプローチに固執します。別のオプションは、すべてをSQLiteに移動し、FMDBのようなラッパーを使用することです。

データがアプリのライフタイムの間に変更される初期データである場合(起動する間は永続する必要があります)、CoreDataに切り替えます。

NSArray/NSDictionaryをサブクラス化することをやりなおしてください。サブクラス化せずにデフォルト値を指定できます。

+0

SQLiteでデータを事前に作成するにはどうしたらいいですか?最初にアプリが実行されたかどうかを確認する必要がありますか?その場合はデータを作成しますか? – maxedison

+0

あなたはいつもあなたのdevマシン上にデータベースを作成してから、そのデータベースをアプリケーションバンドルに入れて出荷することができます。 – sosborn

+0

私はこれをさらに見なければならないでしょう。 plistファイルやSQLiteから読み込む方が一般にパフォーマンスが向上しますか? – maxedison

1

私はこれらのような状況でSQLiteを使用しました。
ここに、私がアプリでSQLiteを使用することについて学んだすべてのビデオがあります(Stanford class) 他にもたくさんの例があります。

いいことは、さまざまなツール/プラグインを使用してデータを入力または管理できることです。それから、あなたのコードに必要なクエリを作成してください。

関連する問題