0

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

简介:我有一个应用程序,其中包含几个提供不同实体的 UITableViewController。

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举个例子)。

当我问什么是最好的方式时,我的意思是什么是最有效和最常见的方式(最快的响应时间)?如果所有数据仅位于一个存储中,存储是否有可能会过载?

4

1 回答 1

0

简短的回答:选项 1

通常,您会使用一个 NSPersistentStore 来管理所有这些实体及其关系。此外,这也是最简单的方法。

于 2013-07-25T11:41:39.393 回答