2014-01-10 59 views
0

我正在使用核心數據來保存一堆信息。核心數據和多個持久性商店

可以說我有3種不同的保存選項。如果用戶選擇SaveGame1,則加載SavedGameStore1。如果用戶選擇SaveGame2,則加載SavedGamedStore2。

它們都包含相同的實體。

我不需要將信息從一個商店傳輸到另一個商店。

我對Persistent StoresPersistent Store Coordinator的理解有點不穩定。

我正在使用魔法記錄。

在的appDelegate:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    // Override point for customization after application launch. 

    [MagicalRecord setupAutoMigratingCoreDataStack]; 
} 

神奇記錄有一個方法setupCoreDataStackWithSotreNamed:

用戶做出選擇後,就像調用該方法一樣簡單嗎?那會將它從默認商店切換到我的SavedGameStore1?

+0

爲什麼不只是''SavedGameStore'是您的商店中的一個實體,只使用一個'persistent store'?我會盡我所能避免使用多家商店,不惜一切代價。就像你說的那樣,它不穩定。 – random

+0

好的。我想多家商店會更容易。我錯了嗎? – Padin215

+0

根據我的經驗,使用單店總是更容易,而且總是更穩定。我建議你堅持一個基於上述模型的商店。 – random

回答

0

這應該是正確的。在[MagicalRecord setupCoreDataStackWithStoreNamed:]加載新的核心數據堆棧之前,您需要(仔細地)調用[MagicalRecord cleanUp]來拆除現有的核心數據堆棧。

不知你是否不能把所有的保存遊戲數據放到一個商店?你能添加一個與保存遊戲數據有關係的實體嗎?這可能會簡化一些事情......

+0

我可以很容易地添加一個額外的實體。我想在我的思維過程中,每個商店都有不同的商店會更簡單/更容易。我錯了嗎? – Padin215

+0

IMO,使用單個數據存儲區幾乎總是更容易/更乾淨。 –

相關問題