/ / 2つ以上のコアデータモデルが必要なのはなぜですか? - ios、コアデータ

コアデータモデルが2つ以上必要なのはなぜですか? - ios、コアデータ

私は誰が複数のコアデータを使用しているのか不思議ですなぜ私は複数のモデルの恩恵を受けることができると思うアプリケーションを開発していますが、他のメリットは不明です。

私の上って来るアプリは、iPadと別のものになりますiPad用の3つの主要なコンテンツを持っていますが、iPhoneにはiPad上にあるものしかありませんので、これを別のコアデータモデルに分離することで、おそらく2つのアプリケーション間でそのモデルの変更を維持しやすくなります。

私は両方で必要なエンティティをいくつか持っていますが、それらをコピーしたり、1つの大きなモデルを持つことができます。

助言がありますか ?

とにかくこれはもちろん共通の状況ではありませんが、他のシナリオでは複数のコアデータモデルを作成する可能性がありますか?

回答:

回答№1については9

時には、さまざまな種類を保つことが理にかなっています異なる店舗のデータのたとえば、商品カタログのように機能するアプリには、商品データベースである1つのストアと、ユーザーのお気に入り、現在の注文、および履歴を管理するストアがあります。これにより、ユーザーのデータに影響を与えずに製品データベースを更新し、製品データベース全体をコピーすることなくユーザーのデータをバックアップすることが比較的容易になります。

たとえば、複数のストアを使用する別のシナリオでは、同じ種類のデータを格納することがあります。たとえば、ドキュメントベースのアプリケーションでは、通常、ドキュメントごとに別々のストアを作成します。 〜する ドキュメント。

更新: 私が上記の住所に別々のものを書いたもの 店舗しかし、別の モデル。 Core Dataは、実際には別々のモデルを定義し、実行時にそれらをまとめてマージして、同じストア(または複数のストア)で使用できるようにします。だから、明らかにするには、 モデル エンティティとそれらの間の関係を定義します。 A 格納 データが実際に保存される場所ですモデルで定義されたスキーマを使用します。複雑なモデルをいくつかの小さなモデルに分解して単純なものにしたり、時間の経過とともにモデルを修正したり、複数のモデルを使用したり、別のモデルを使用したり、別のモデルを使用したりすることがあります。上述したように、異なるタイプのデータ。


回答№2については2

1つのコアデータモデルだけを使用することをお勧めします。 それらを分離すると、コアデータの多くの機能(データストア内のオブジェクト間の関係など)を使用することができなくなります。現在必要がない場合でも、後でそれを必要とするアプリケーションに追加するアイデアを持っている。

同じコアデータモデルをiPadとiPhoneの両方で、あなたがiPhoneを使用していない部分を無視するだけです(欠けている部分を追加する機能リクエストが届くまで、あなたはそうするでしょう)。

極端な場合にのみ、たとえば、読み取り専用の既存のデータセットをダウンロードする場合など、別のデータモデルを使用することができます。読み取り専用のデータセットは、ユーザーの設定/データなどから分離することができます。

アプリで幸運!