Мое приложение настроено так, что, когда оно впервые используется, оно загружает требуемые данные из веб-корневой XML-ленты.Правильный способ обновления базы данных Core Data
Пользователь также имеет возможность периодически обновлять данные с помощью настройки.
Когда они это делают, я хочу удалить существующую базу данных, а затем воссоздать ее с помощью кода, который я использую для первой загрузки.
Я прочитал, что просто удаление базы данных не является правильным способом для этого, поэтому я использую следующее для уничтожения данных перед загрузкой нового набора данных.
- (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;
}
Однако это не работает, при выполнении обновления данных, он загружает данные, но не может сохранить его в базе данных и генерирует следующее сообщение об ошибке в консоли;
Этот NSPsistentStoreCoordinator не имеет постоянных магазинов. Он не может выполнить операцию сохранения.
Что такое «правильный» способ обновления базы данных?
Я думаю, что "if (array == nil)" должно быть "if (array! = Nil)" –
Да, вы правы, спасибо. Я отредактировал мой код, чтобы исправить его. –