Я унаследовал код для приложения iPhone с использованием Core Data, написанного другой командой. Рассматривая отношения между объектами и то, как объекты создаются / используются в коде, я пришел к выводу, что произошла утечка памяти в постоянное хранилище. Конечно, когда я удаляю все объекты верхнего уровня из Базовых Данных там, где объекты остались позади. Более того, была операция, при которой значения / отношения одного объекта копировались в другой, и это оставляло осиротевшие объекты в Базовых данных.
С тех пор я исправил проблемы, и в Core Data больше не хранится никаких новых объектов-сирот. Теперь проблема в том, как я могу удалить эти потерянные объекты из постоянного хранилища существующих пользователей, которые используют приложение с утечками, кто знает, как долго?
Моей первоначальной мыслью было скопировать объекты верхнего уровня в другой ManagedObjectContext. Затем удалите все объекты из исходного контекста. Наконец, скопируйте объекты верхнего уровня обратно в исходный контекст. Кто-нибудь видит какие-либо проблемы с этим или есть лучшая идея?