2013-07-25 29 views
0

我有一个关于适当使用框架CoreData的快速问题。

介绍:我有几个UITableViewControllers提供不同实体的应用程序。

1 - 事件的名单 - 实体 “ResponseEventsItem”
       每一个事件有关联的记录:
                - spakers(实体 “ResponseEventsSpeakersItem”) - 每个记录只有一个父 - ResponseEventsItem
                - 位置(实体 “ResponseEventsSpeakersItem”) - 每个记录只有一个父 - ResponseEventsItem
                - 时间表(实体 “ResponseEventsSpeakersItem”) - 每个记录只有一个父 - ResponseEventsItem,以及其它相关记录:ResponseSpeakersItem和/或ResponseLocationsItem
                - 保荐人(实体 “ResponseEventsSponsorsItem”) - 每个记录只有一个父 - ResponseEventsItem
2 - 约镇(实体 “ResponseCityAboutItem”)
3 - 景观(实体 “ResponseSightsItem”)
4 - 酒店(实体 “ResponseHotelsItem”) - 可以以ResponseBonusesItem
5有关 - 小吃(实体 “ResponseFoodsItem” ) - 可与ResponseBonusesItem
6 - 娱乐(实体“ResponseEntertainmentsItem”) - 可与ResponseBonusesItem
7 - 特殊优惠(实体“ResponseBonusesItem”) - 此记录与“ResponseEventsItem”和(“ResponseHotelsItem”或“ResponseFoodsItem”)


的问题:什么是使用框架CoreData的最佳方式?

1 - 建立一个单一的存储(存储NSPersistentStore)和一切加载到它,并建立基于内核的关系连接(例如,关系到多ResponseEventsItem.locations - > [ResponseLocationsItem])



2 - 或创建的每个单独核心的个人存储(但是在这种特殊情况下,我们将不能够因为只有在一个给定的存储存在关系,使用关系),并确保相关数据的选择完成通过ID,就像在一个常规的SQL数据库中(以mysql为例)。

当我问什么是最好的方法,其实我的意思是最有效和最常用的方法(最快响应时间)?如果所有数据都只能位于一个存储中,那么存储可能会超载吗?关于用法CoreData:关系或ID

回答

0

答案很简单:选择1

通常情况下,你可以使用一个NSPersistentStore来管理所有这些实体和它们之间的关系。此外,这也是最简单的方法。

+0

非常感谢你 –