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

Я использую UITableViewController, содержащий UITableView и UISearchTableView. В таблице перечислены, например. 1000 записей. Я хочу предоставить пользователю кнопку для удаления всех записей определенного объекта. Поскольку перебор всех управляемых объектов и сохранение контекста занимает очень много времени, я подумал об удалении, удалив постоянное хранилище и перестроив стек.

Теперь к моим вопросам: как я могу сделать это в UITableViewController? Я не хочу перезапускать приложение для удаления, поэтому я хочу переместить код из делегата приложения.


person Nico    schedule 16.10.2010    source источник


Ответы (1)


Чтобы удалить постоянное хранилище, вам нужно закрыть стек Core Data, удалить постоянное хранилище, а затем перестроить его в стек.

Я бы просто использовал метод tableview beginUpdate, чтобы заморозить таблицу, затем обнулить контроллер fetchedResults, а затем стек Core Data. Удалите постоянное хранилище, затем перестройте стек и создайте новый контроллер извлеченных результатов. Затем скажите `endUpdate', а затем скажите таблице перезагрузить данные. Все это должно занять короткое время незаметно для пользователя.

person TechZen    schedule 17.10.2010