Мое приложение настроено таким образом, что при первом использовании оно загружает необходимые данные из веб-канала xml.
Пользователь также может периодически обновлять данные с помощью параметра.
Когда они это делают, я хочу удалить существующую базу данных, а затем воссоздать ее с помощью кода, который я использую для первой загрузки.
Я прочитал, что простое удаление базы данных не является правильным способом сделать это, поэтому я использую следующее для уничтожения данных перед загрузкой нового набора данных.
- (void)resetApplicationModel {
NSURL *_storeURL = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory] stringByAppendingPathComponent: DBSTORE]];
NSPersistentStore *_store = [persistentStoreCoordinator persistentStoreForURL:_storeURL];
[persistentStoreCoordinator removePersistentStore:_store error:nil];
[[NSFileManager defaultManager] removeItemAtPath:_storeURL.path error:nil];
[persistentStoreCoordinator release], persistentStoreCoordinator = nil;
}
Однако это не работает, при выполнении обновления данных он загружает данные, но не может сохранить их в базе данных и генерирует в консоли следующую ошибку:
Этот NSPersistentStoreCoordinator не имеет постоянных хранилищ. Невозможно выполнить операцию сохранения.
Каков «правильный» способ обновления базы данных?