フレームワーク 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 つのストレージのみに配置される場合、ストレージが過負荷になる可能性はありますか?