2011-03-09 10 views
5

Estoy intentando añadir CoreData a un proyecto existente y no es extraño error existente ...CoreData al Proyecto

me sale el error:

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

en RootView hay una advertencia en :

- (NSFetchedResultsController *)fetchedResultsController; 

en línea:

_fetchedResultsController.delegate = self; 

y dice:

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

alguna idea?

Respuesta

14

argh!

pena por siquiera preguntar, me olvidaron de que he cambiado el nombre de .xcdatamodel

que necesitaba sólo para cambiar el nombre en managedObjectModel y persistentStoreCoordinator

esperanza de que va a ayudar a alguien de todos modos.

+1

Todo el mundo aprende de los errores, por lo general nuestra propia. Si no, siempre podemos esperar que sirvamos como advertencia para otros. – TechZen

+3

marque la respuesta. –

+0

¡Gracias! ¡No tengo idea de cómo me lo perdí! – sridvijay

4

Recibía la misma excepción.

Mi problema era que yo había añadido el archivo .xcdatamodeld en el directorio raíz del proyecto (con los hermanos y FrameworksProducts) en lugar de en la carpeta con el nombre del proyecto (con los hermanos Supporting Files, AppDelegate.h, etc.)

que lo rastreó a esta línea: NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"Foo" withExtension:@"momd"];

En este método: - (NSManagedObjectModel *)managedObjectModel

+0

Tuve el mismo problema, para cambiar su ubicación, aunque también debe cambiar la propiedad Ruta en el editor de Utilidades a "Relativo al grupo". – robmcm

+0

Gracias por esto. Cambié el nombre de @ "Foo" al nombre de mi archivo .xcdatamodeld y moví el archivo .xcdatamodeld a mi directorio de proyecto raíz. Es posible que también deba hacer esto en la terminal. –

Cuestiones relacionadas