0

フレームワーク CoreData の適切な使用法について簡単な質問があります。

はじめに: さまざまなエンティティを提供するいくつかの UITableViewControllers を持つアプリケーションがあります。

1 - イベントのリスト - エンティティ "ResponseEventsItem"
    すべてのイベントには相互に関連するレコードがありました:
        - スピーカー (エンティティ "ResponseEventsSpeakersItem") - すべてのレコードには 1 つの親しかありません - ResponseEventsItem
        - 場所 (エンティティ "ResponseEventsSpeakersItem") - すべてのレコードには 1 つの親しかありません - ResponseEventsItem
        - スケジュール (エンティティ "ResponseEventsSpeakersItem") - すべてのレコードには親が 1 つだけあります - ResponseEventsItem、およびその他の関連レコード: ResponseSpeakersItem および/または ResponseLocationsItem
         - スポンサー (エンティティ "ResponseEventsSponsorsItem") - すべてのレコードには 1 つの親しかありません - ResponseEventsItem
2 - 町について (エンティティ "ResponseCityAboutItem")
3 - アトラクション (エンティティ "ResponseSightsItem")
4 - ホテル (エンティティ "ResponseHotelsItem") - 関連することができますResponseBonusesItem
5 - ファーストフード (エンティティ "ResponseFoodsItem") - ResponseBonusesItem に関連付けることができます
6 - エンターテイメント (エンティティ "ResponseEntertainmentsItem") - ResponseBonusesItem に関連付けることができ
ます" and ("ResponseHotelsItem" または "ResponseFoodsItem")


質問: フレームワークCoreDataを使用する最良の方法は何ですか?

1 - 単一のストレージ (ストア NSPersistentStore) を作成し、そこにすべてをロードして、コアの関係 (たとえば、多くの ResponseEventsItem.locations との関係 -> [ResponseLocationsItem] ) に基づいて接続を確立します。

または

2 - または個別のストレージを作成します。 (ただし、この特定のケースでは、リレーションシップは 1 つの特定のストレージ内にしか存在しないため、リレーションシップを使用することはできません)。相互に関連するデータの選択は、通常の SQL データベース (mysql例として)。

最善の方法は何かと尋ねるとき、実際には、最も効率的で最も一般的な方法 (応答時間が最も速い) は何かということです。すべてのデータが 1 つのストレージのみに配置される場合、ストレージが過負荷になる可能性はありますか?

4

1 に答える 1

0

簡単な答え: オプション 1

通常、1 つの NSPersistentStore を使用して、これらすべてのエンティティとその関係を管理します。また、それは最も簡単なアプローチでもあります。

于 2013-07-25T11:41:39.393 に答える