10

誰が複数のコア データ モデルを使用しているか、またその理由と利点を知りたいです。複数のモデルから利益を得ることができると思われるアプリケーションを開発していますが、他の利点についてはわかりません。

私の新進気鋭のアプリは iPad 用で、別のバージョンは iPhone 用です。iPad には 3 つのメイン コンテンツがあり、iPhone には 1 つしかありませんが、これは iPad にもあります。したがって、これを別のコア データ モデルに分離することで、そのモデルの変更を維持することができます。私の 2 つのアプリはより簡単になります。

両方に必要なエンティティがいくつかありますが、それらをコピーするか、1 つの大きなモデルにすることができます。

助言がありますか ?

とにかく、これはもちろん一般的な状況ではありません。他にどのようなシナリオで、複数の Core Data モデルを作成する可能性がありますか?

4

2 に答える 2

10

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

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

更新:上記で書いたものは、別のストアを使用して対処していますが、別のモデルを使用することについて質問されました。Core Data を使用すると、実際に個別のモデルを定義し、実行時にそれらをすべてマージして、同じストア (または複数のストア) で使用できます。したがって、明確にするために、モデルはエンティティとそれらの間の関係を定義します。店舗_モデルで定義されたスキーマを使用してデータが実際に保存される場所です。複雑なモデルをいくつかの小さなモデルに分割して、時間をかけてモデルを変更するときにデータを簡単に移行できるようにしたり、複数のモデルを使用してそれらを別々に保持したりすることがあります。上記のように、さまざまな種類のデータ。

于 2012-04-29T18:53:40.963 に答える
3

コア データ モデルを 1 つだけ使用することをお勧めします。それらを切り離すと、リレーションシップ (データ ストア内のオブジェクト間) など、Core Data の多くの機能を使用できなくなります。それを必要とするアプリに後で追加するアイデアを思いつきます。

iPad と iPhone の両方で同じコア データ モデルを引き続き使用できますが、iPhone を使用していない部分は無視してください (不足している部分を追加する機能要求を受け取るまでは、おそらくそうするでしょう)。その後、すべての設定が完了し、データが利用可能になります。

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

アプリで頑張ってください!

于 2012-04-29T18:53:32.950 に答える