Ho iniziato a utilizzare CoreData nella mia applicazione seguendo le lezioni di Stanford CS193P riguardanti l'uso della nuova classe di iOS 5 UIManagedDocument. L'approccio in sé è abbastanza semplice, ma non riesco a capire come affrontare le modifiche ai modelli che continuo a fare. Questo è quanto ho un'istanza di mio oggetto UIManagedDocument (all'interno del AppDelegate, in modo che ogni altra classe può usarlo):Problemi di migrazione 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];
}
Il problema che ho è che ogni volta che cambia anche un po 'del mio .xcdatamodel, ho Sono in grado di ottenere tutto il contenuto precedentemente memorizzato nel documento e creare qualsiasi nuova istanza. È un dato di fatto fare questo genera la seguente eccezione:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'This NSPersistentStoreCoordinator has no persistent stores. It cannot perform a save operation.'
ho pensato che l'impostazione del "opzioni" di proprietà del documento gestito avrebbe risolto il problema, ma a quanto pare questo non è sufficiente. Chiunque può aiutare? Impossibile trovare altre domande che corrispondano effettivamente alle mie precise esigenze.
Ho seguito anche Stanford CS193P e ho riscontrato lo stesso errore. – coolcool1994