как удалить все объекты из Базовых Данных

как я могу удалить все объекты? Я знаю, что могу удалить один

[managedObjectContext deleteObject:objToDelete];

действительно ли возможно удалить все, не выполняя итерации всего массива?спасибо

6
задан Donal Fellows 16 July 2010 в 14:55
поделиться

3 ответа

Пометка объектов для удаления с последующим сохранением работает так же, как и в случае с Core Data, по-прежнему необходимо выполнять правила проверки для всех удаляемых объектов. В конце концов, объект может отказаться от удаления в зависимости от того, как он реагирует на -validateForDelete: .

Если:

  • вы действительно хотите удалить все в постоянном хранилище
  • и , вы не заботитесь о том, будут ли объекты в этом постоянном хранилище говорят, что они действительны для удаления

Затем:

  • разорвите стек Core Data, который использует это постоянное хранилище
  • , и удалите файл постоянного хранилища.
8
ответ дан 8 December 2019 в 02:29
поделиться

Можно также просто снести стек (освободив NSManagedObjectContext, NSPersistentStore и NSManagedObjectModel) и удалить файл. Вероятно, это будет быстрее, чем итерации по всей базе данных и удаление каждого объекта по отдельности.

Кроме того, маловероятно, что они предоставят эту функциональность в будущем, потому что удалить файл очень просто. Однако если вы считаете, что это важно, подайте радар и сообщите об этом Apple. В противном случае они не узнают, сколько людей хотят получить эту функцию.

6
ответ дан 8 December 2019 в 02:29
поделиться

Просто выполните итерацию по массиву и удалите их. Не существует определенного метода для их удаления.

2
ответ дан 8 December 2019 в 02:29
поделиться