2011-03-09 168 views
5

我試圖CoreData添加到現有的項目和 有奇怪的錯誤...添加CoreData現有項目

我得到的錯誤:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Cannot create an NSPersistentStoreCoordinator with a nil model'

在RootView存在警告:

- (NSFetchedResultsController *)fetchedResultsController; 

在行:

_fetchedResultsController.delegate = self; 

和它說:

warning: class 'RootViewController' does not implement the 'NSFetchedResultsControllerDelegate' protocol

什麼想法?

回答

14

唉!

抱歉連問也不問,我只是錯過了,我改變的.xcdatamodel

我只需要在managedObjectModel和persistentStoreCoordinator

更改名稱的名稱希望這會幫助別人呢。

+1

每個人都從錯誤中學習,平時我們自己。如果不是的話,我們總是希望我們能夠對別人發出警告。 – TechZen 2011-03-09 22:20:15

+3

標記爲已回答。 – 2011-04-02 20:55:35

+0

謝謝!我不知道我是如何錯過的! – sridvijay 2012-07-18 21:02:26

4

我得到了同樣的異常。

我的問題是,我已經在該項目的根目錄下添加.xcdatamodeld文件(與兄弟姐妹FrameworksProducts),而不是該項目命名的文件夾中(與兄弟姐妹Supporting FilesAppDelegate.h等)

我跟蹤它到這條線:NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"Foo" withExtension:@"momd"];

在這種方法:- (NSManagedObjectModel *)managedObjectModel

+0

我有同樣的問題,要更改它的位置,但您還必須將實用程序編輯器中的路徑屬性更改爲「相對於組」。 – robmcm 2012-03-31 13:21:08

+0

感謝您的支持。我將@「Foo」重命名爲我的.xcdatamodeld文件的名稱,並將.xcdatamodeld文件移動到我的根項目目錄中。您可能還需要在終端中執行此操作。 – 2012-07-24 21:22:00