Как обработать очистку внешних данных при удалении * несохраненных * объектов Core Data?

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

Я следил за ответами на этот вопрос:Как обрабатывать очистку внешних данных при удалении объектов Core Dataи переопределял -didSave в моем подклассе управляемых объектов для удаления файлов.

Оказывается, это работает, только если:

управляемый объект был добавлен,контекст управляемого объекта был сохранен,управляемый объект был удален,контекст управляемого объекта сохранен.

Однако в следующем случае -isSaved не вызывается в управляемом объекте:

управляемый объект был добавлен,управляемый объект был удален,контекст управляемого объекта сохранен.

Я понимаю, почему это происходит. Поскольку удаленный объект никогда не сохранялся в первую очередь, он не будет сохранен после удаления, -didSave не вызывается.

Теперь я ищу другое место для перемещения указанного файла в корзину. Где это может быть?

Ответы на вопрос(2)

Ваш ответ на вопрос