2012-01-16 51 views
0

使用Xcode 4.2,我使用標籤欄模板創建了一個新應用程序。出於某種原因,這個模板不會給你選項,包括核心數據,所以只好按照本教程中手動添加它,我做到了:初學者iOS核心數據 - 型號爲零

http://www.theappcodeblog.com/2011/06/30/iphone-development-tutorial-add-core-data-to-a-tab-bar-application-and-save-user-data/

然而,當我運行應用程序,我得到此錯誤:

Cannot create an NSPersistentStoreCoordinator with a nil model 

如何使模型不爲零?我創建了Model.xcdatamodeld並添加了一個具有屬性的實體(Cat)。

另外,我想讓應用程序以5只貓爲例,但用戶將能夠創建更多的貓。在哪裏/如何創建原來的5只貓?每次應用程序啓動時創建它們似乎都不合乎邏輯,但您如何才能創建它們?

回答

2
  1. 在嘗試創建持久存儲協調器之前,您需要實例化模型。你可以用NSManagedObjectModel的方法之一來做到這一點,比如+ mergedModelFromBundles:。請注意,如果您將nil傳遞給該方法,它將在主包中搜索模型,這可能是您想要的。

  2. 要使用一些初始數據填充商店,您有幾個選項。當您的應用程序啓動並且您正在設置Core Data堆棧時,您可能會查找現有的持久存儲文件。如果你找到它,你可以創建持久存儲,將它添加到協調器,然後繼續。如果你沒有找到它,一個選擇是創建一個新的商店,並以編程方式添加一些對象。另一種選擇是在您的軟件包中保留一個預填充的持久性存儲文件,您可以將其複製到應用程序的文檔文件夾中,然後打開。第三種可能是從網絡上的服務器讀取默認數據並使用它來填充新的商店。

0

這一行修正:

NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"Model" withExtension:@"momd"]; 

「模型」 是 「TEMP」。

我仍然不知道如何創建5個對象。