Как я удаляю все объекты из своего персистентного хранилища в Базовых Данных?

У меня есть Базовые Данные, работающие в моем приложении. Так, я выбираю XML-файл, анализирую данные в объекты модели и вставляю их в базовые данные. Они сохраняются в персистентном хранилище, и я могу получить доступ к ним, когда я повторно запускаю приложение. Однако я хочу смочь обновить данные в персистентном хранилище по желанию, таким образом, я должен сначала удалить существующие объекты из хранилища. Существует ли простой метод для этого?

Спасибо


Я нашел это решение:

[managedObjectContext lock];
[managedObjectContext reset];//to drop pending changes
if ([persistentStoreCoordinator removePersistentStore:persistentStore error:&error])
{
NSURL* storeURL = [NSURL fileURLWithPath:[self pathForPersistentStore]];
[[NSFileManager defaultManager] removeFileAtPath:[storeURL path] handler:nil];
[self addPersistentStore];//recreates the persistent store
}
[managedObjectContext unlock];
16
задан Julian Król 22 January 2016 в 12:27
поделиться

3 ответа

Удалите файл данных и переделайте его.

1
ответ дан 30 November 2019 в 15:07
поделиться

Вы можете перебрать все объекты и удалить их, сделав следующее:

[managedObjectContext deleteObject:someObject];

Если вы хотите удалить все объекты, то, вероятно, быстрее всего будет удалить хранилище, а затем заново создать стек CoreData.

1
ответ дан 30 November 2019 в 15:07
поделиться

Самый быстрый способ все бросить - отправить контексту управляемого объекта сообщение reset .

-4
ответ дан 30 November 2019 в 15:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: