2013-07-25 61 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

非常感謝你 –