Об этом было задано ранее, но ни одно из описанных решений не достаточно быстро для моего приложения.
В коммуникационном протоколе, который мы установили, сервер отправляет новый набор всех клиентов каждый раз, когда выполняется синхронизация. Раньше мы хранили как plist. Теперь вы хотите использовать Core Data.
Здесь могут быть тысячи записей. Удаление каждого из них в отдельности занимает много времени. Есть ли способ удалить все строки в конкретной таблице в Core Data?
delete from customer
Этот вызов в sqlite происходит мгновенно. Прохождение каждого из них по отдельности в Core Data может занять 30 секунд на iPad1.
Можно ли отключить основные данные, т.е. отбросить хранилище персистентности и все контексты управляемых объектов, а затем перейти в sqlite и выполнить команду delete в таблице? Во время этого процесса не происходит никакой другой активности, поэтому мне не нужен доступ к другим частям базы данных.