2014-01-23 33 views
0

我想能夠運行2「數據庫」一個種子和一個用戶數據 我使用MagicalRecord,但不能包裹我的頭周圍如何完成這個。到目前爲止,我認爲我需要一個新的NSManagedObjectContext來處理第二個數據庫。但我怎麼稱呼它? 也 我如何初始化2數據庫「媽媽」我googld今天整天,但無論是我尋找錯誤的任期或我不知道什麼。有人能指點我嗎?核心數據與多個對象,MagicalRecord init與2 sqlite

OR

我應該解散神奇紀錄,並嘗試用硬件的方式,並找出辦法有2源碼的管理

+0

我不認爲創建coredata的多個sqlite或datamodel是更好的主意。爲什麼不單獨在單個datamodel/sqlite中管理其他sqlite表/實體? – Tirth

+0

艾姆,因爲我有很大的問題。我無法更新數據模型而無需獲取雙重實體。如果你知道一種方法,不要得到雙重實體請告訴:) – KennyVB

+0

是的,他們的方式是用一些後綴/前綴標識符更新你的實體名稱,然後你可以很容易地在運行時區分它。假設「用戶」一個實體,那麼你可以保留兩個實體,如「user_main」和「user_dummy」 – Tirth

回答

0

這聽起來像你真的需要獲得核心數據本身之前一個手柄使用MagicalRecord。核心數據可以爲你處理這種情況,但是你需要跟蹤兩個不同的堆棧,所以需要兩套完整的NSManagedObjectContexts,NSPersistentStoreCoordinators,NSManagedObjectModels和NSPersistentStores。

如果你想要一個「種子」數據存儲,我建議你做以下(除了真正理解核心數據是如何工作的):

  • 建立你的種子數據存儲在應用之前建立
  • 種子您數據存儲
  • 製作副本,並將其與應用程序一起部署到應用程序包中。您可能需要使用[[NSBundle mainBundle] pathForResource:ofType:]來引用它。
  • 將此種子數據存儲從應用程序包複製到目標目錄。 不要試圖直接在APP BUNDLE中修改種子數據存儲。這樣做很可能不可能,因爲修改應用程序包是不允許的。
  • 一旦你的種子數據存儲被完全複製,通過MagicalRecord或其他方式加載核心數據堆棧。

沒有這方面的示例代碼,因爲這是您需要自己解決的問題。