2011-01-30 17 views
0

を使用は、私は私はすでに試してみました..私は私のデータベースにアクセスするにはコアデータのアプローチを使用したい</p> <p>...コアデータは、私が1000個のアイテムを持っているモスクのデータベースを持って、既に作成したSQLデータベース

をさせることができますSQLiteのアプローチは..私は、タブ で区切られた全てのデータとテキストパッドファイルを持っているし、SQLファイルにテキストファイルからデータをインポートするデータベース ...

さて、これは正常に動作を作成し

SQLファイルから新しく作成したCore Data Projectにデータをインポートする方法を知りたい

SQLファイルをリソースに追加するか? コピーするかどうかを指定しますか?あなたがすることができます。..

答えて

4

を私はCoreDataBooksの例を見てきましたが、私は、私はコアデータ・プロジェクトのリソースにSQLファイルを追加するための正確な方法を知りたい何か

が欠けていると思う

't。

コアデータは実際には本当に本当にそれを行う必要がないかぎり、 に直接使用されないように、実装の詳細としてファイルを保存する形式としてSQLiteを使用するという事実を考慮する必要があります。 。たとえば、SQLiteファイルに直接書き込む場合、Core Dataが正常に動作することは期待できません。

代わりに、コアデータのドキュメントを読み、タブで区切られたテキストファイルから直接コアデータコンテキストにデータをインポートし、コアデータにファイルに保存させます。はい、舞台裏でSQLiteを使用していますが、その事実を忘れる方が良いでしょう。

+0

ありがとう、ゆず、OK。これは、タブ別テキストファイルをコアデータにインポートする方法です(http://iphonedevelopment.blogspot.com/2010/08/core-data-starting-data.html)。 )または良い方法がありますか?申し訳ありませんが、私はObj-Cの新機能です。 – Sara2022

+2

+1を除いて、sqliteを直接使用する必要はありません。スキーマは、フレームワークによって明示的に選択されたカスタムフォーマットであり、それに含まれているデータを使っていても、悪い考えです。 –

+0

あなたは完璧です、Dave。私はあなたが生産コードで決して使うべきではないことを意味しました...アップルが何をするかを見るためにSQLiteを使って直接開くのは楽しいことです。 – Yuji

0

YujiとDave DeLongは両方のアカウントで正しく機能していますが、CoreDataを実際にはフィードできないため、追加する必要があります。事前入力済みのSQLiteファイルは、CoreDataストアをブートストラップできませんSQLiteファイル(またはテキストファイルなど)。自分で作業する必要があるということです。

たとえば、プロジェクトにリソースとして事前入力済みのSQLiteファイル(独自のCoreDataスキーマなど)を含めることができます。アプリケーションの起動時に、CoreDataストアが空であるとわかった場合は、SQLite APIを直接使用してブートストラップデータベースを開いてクエリを実行し、結果をCoreDataで目的のオブジェクトグラフを生成する操作に変換できます。次回アプリケーションが起動すると、CoreDataオブジェクトグラフが読み込まれ、再度実行する必要はありません。

ここは、「無料」ではなく「不可能」ではないということです。多くのアプリには、データを含む組み込みのCoreDataリポジトリが含まれています。そのデータはどこかからブートストラップされていなければならなかったのですが、そうですか?

関連する問題