2010-09-18 32 views
5

我有一個應用程序使用CoreData作爲數據存儲機制,應用程序需要一些初始數據進行配置。是否有任何建議/您爲了設置初始數據而做了什麼/如何做?如何使用CoreData進行初始數據配置設置?

目前,我在下面的方法做(當應用程序啓動的第一時間):

SomeEntity *newEntity=[NSEntityDescription insertNewObjectForEntityForName:@"SomeEntity" inManagedObjectContext:context]; 
[newEntity setCode:@"a-code"]; 
[newEntity setName:@"a-name"]; 
... 
[context save:nil]; 

我不喜歡這種方法,原因有二:
1)它是如此的乏味和錯誤易發,如果你需要超過10個實體實例爲一個以上的實體類型
2),可能使用SQLite佔用一些時間初始啓動

在以前的應用程序我剛剛將我最初的SQLite數據庫到應用程序,如果需要修改任何數據,則移動數據庫se到Documents目錄。 CoreData有沒有類似的方法?

回答

6

這正是您對Core Data所做的。使用您的應用程序以您想要的方式創建數據,然後從設備下載數據。您將在Documents目錄(這是默認位置)中找到SQLite文件。將SQLite文件作爲資源添加到您的項目中。它會隨着您的應用程序一起被複制。

然後,您只需編寫一些代碼以確定文件在啓動時是否已存在於Documents目錄中。如果沒有,您可以將文件從您的應用程序包中複製到Documents目錄,Core Data將打開它。您只需確保在設置NSPersistentStoreCoordinator之前執行此操作。

+0

非常感謝,它爲我工作! – Arts 2010-09-22 17:53:12

相關問題