2009-06-20 7 views
5

DataModel、EntitiesおよびPropertiesを作成できます。どのようにDBを作成するのですか?すべてのプロパティとエンティティがマップされていることを手動で確認する必要がありますか?iPhoneでCoreデータモデルを使用してSqlite DBを接続または作成する方法

は、私はレシピコアデータのサンプルを、次の午前RecipesAppDelegate.m方法に気づいた:

- (NSPersistentStoreCoordinator *)persistentStoreCoordinator { 
} 

は、私がここにDBファイルへの参照を見ることができます。

+0

SQLite Dbを見たり管理したりする簡単な方法が必要な場合は、[this](https://addons.mozilla.org/en-US/firefox/addon/5817)firefoxプラグインを使用できます。それはかなり完全な特色にされ、価格は正しい、自由である。 – OhioDude

+0

データベースの事前入力はどうですか? SQLソースをビルドプロセスにリンクするのが最善でしょうか?大規模なデータストアの場合、これは魅力的ではないオプションのようです(毎回再構築する必要があります)。 – Dylan

答えて

5

永続ストアコーディネータを作成するときに、SQLite永続ストアタイプを使用している場合、コーディネータはデータベースが存在しない場合は自動的に作成します。自分でストアファイルを作成する必要はありません。

EDIT:明確にするために、修正する必要があるのは、Core Dataオブジェクトモデル(.xcdatamodel)ファイルだけです。 NSPersistentStoreCoordinatorオブジェクトは、ストアファイルまたはaddPersistentStore:メソッドを使用して作成されたときに呼び出され、すべてのバッキングストアの必要な設定を行います。これには、ファイルの作成、含まれる可能性のあるテーブルの作成などが含まれます。

独自の永続ストア(特にSQLiteストア)の作成や変更は、SDKとCore Dataフレームワークでは完全にサポートされていません。

+0

上記のメソッドを作成する必要があり、コードによってファイルが作成されるということですか?データベースのテーブルと列はどうですか? – Picflight

+0

あなたのデータモデルで設計したオブジェクトグラフはすべて面倒です。永続ストアコーディネータは、管理対象オブジェクトモデルからそのストアドコードを読み取り、そのSQLiteテーブルを直接変更します。実際、AppleのCore Data Programming Guideでは、SQLiteストアと直接インターフェイスすることを禁じています。 – Tim

関連する問題