Cómo eliminar una tienda persistente de datos centrales
Necesito eliminar mi tienda persistente (hacerlo objeto por objeto no es práctico porque tengo más de 100,000 objetos). He intentado esto:
- (IBAction)resetDatabase:(id)sender {
NSPersistentStore* store = [[__persistentStoreCoordinator persistentStores] lastObject];
NSError *error = nil;
NSURL *storeURL = store.URL;
// release context and model
[__managedObjectContext release];
[__managedObjectModel release];
__managedObjectModel = nil;
__managedObjectContext = nil;
[__persistentStoreCoordinator removePersistentStore:store error:nil];
[__persistentStoreCoordinator release];
__persistentStoreCoordinator = nil;
[[NSFileManager defaultManager] removeItemAtPath:storeURL.path error:&error];
if (error) {
NSLog(@"filemanager error %@", error);
}
// recreate the stack
__managedObjectContext = [self managedObjectContext];
}
Pero obtengo este error cuando intento insertar entidades en la tienda después:
This NSPersistentStoreCoordinator has no persistent stores. It cannot perform a save operation.
Actualizar Intenté liberar MOC y MOM antes de eliminar la tienda persistente, pero sigo teniendo el mismo error.