Empecé a usar CoreData en mi aplicación siguiendo las lecciones de Stanford CS193P sobre el uso de la nueva clase UIManagedDocument de iOS 5. El enfoque en sí es bastante sencillo, pero no puedo entender cómo lidiar con las modificaciones del modelo que sigo haciendo. Esta es la forma en que mi instanciar objetos UIManagedDocument (dentro de la AppDelegate, de manera que todas las demás clases puede usarlo):Problemas de migración con UIManagedDocument
if (!self.database) {
NSURL *url=[[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
url = [url URLByAppendingPathComponent:@"AppName"];
UIManagedDocument *doc = [[UIManagedDocument alloc] initWithFileURL:url];
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];
doc.persistentStoreOptions = options;
self.database=doc;
[doc release];
}
El problema que tengo es que cada vez que cambia incluso un poco de mi .xcdatamodel, me no puedo obtener todo el contenido previamente almacenado en el documento ni crear ninguna instancia nueva. Como cuestión de hecho de esta manera genera la siguiente excepción:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'This NSPersistentStoreCoordinator has no persistent stores. It cannot perform a save operation.'
pensé establecimiento de la "opciones" propiedad del documento administrado habría resuelto el problema, pero parece que esto no es suficiente. ¿Alguien puede ayudar? No pude 'encontrar otras preguntas que realmente se ajusten a mis necesidades precisas.
Seguí Stanford CS193P también, y estoy experimentando el mismo error. – coolcool1994