3

Core Data モデルで使用する静的な読み取り専用データを出荷したいと考えています。問題は、明らかに異なる永続ストア型があり、それらの型の形式が不透明であるべきか、それとも手動で構築できるべきかがわからないことです。

現在、私はplistを持っているだけで、それは非常に小さいです(おそらく合計30エントリ)。

アプリが最初にインストールされたときに plist をデータ ストアにインポートするコードを作成するだけでよいですか、それともデータ ストア ファイルの手動で構築された初期バージョンを出荷する方法はありますか?

(デフォルトの sqlite 永続ストアを使用しています。)

4

3 に答える 3

3

私はそれを手作業で構築しようとはしませんが、インポートを実行して最終的な Core Data SQLite ファイルを保存し、アプリに同梱する必要があります。

iPhone アプリ用の Core Data SQLite ファイルを生成するための小さな Mac ユーティリティ (同じデータ モデルを使用) を作成する予定です (インポートは実際には Web サーバーから行われます)。次に、ユーティリティによって永続化されたファイルを iPhone アプリのプロジェクトに追加します。

于 2010-01-07T04:24:27.007 に答える
1

私自身の質問への回答に少し追加すると、Recipes サンプル コード アプリケーションにはデフォルトの sqlite バッキング ストアが付属していることに気付きました。

// If the expected store doesn't exist, copy the default store.
if (![fileManager fileExistsAtPath:storePath]) {
    NSString *defaultStorePath = [[NSBundle mainBundle] pathForResource:@"Recipes" ofType:@"sqlite"];
    if (defaultStorePath) {
        [fileManager copyItemAtPath:defaultStorePath toPath:storePath error:NULL];
    }
}

しかし、別の目的のために、静的な読み取り専用データが plist ファイルに含まれています。(TemperatureData.plist) それでは、図を見てください....

于 2010-01-07T04:50:34.490 に答える
0

これを知っている人はあまりいませんが、実際にはOSXでコアデータを使用し、そのストアファイルをiOSで使用できます。したがって、基本的に、まったく同じスキーマとモデルオブジェクトを使用するコードを記述します(これらはすべてOSXでコンパイルおよび動作する必要があります)。

iOS SDKを知っていれば、OSXの開発はそれほど難しくありません:-)

HTH

于 2012-10-22T10:22:55.593 に答える