У меня есть ошибка, которую я изо всех сил пытаюсь отследить. Я считаю, что происходит то, что я удаляю объект из базовой базы данных, в то время как другой контекст управляемого объекта (в другом потоке) имеет ошибку и получает «NSObjectInaccessibleException», когда он пытается выполнить ошибку.
Сценарий заключается в том, что у меня есть представление, получающее доступ к данным через один контекст, в то время как в фоновом режиме другая угроза удаляет устаревшие записи из хранилища. Фоновый поток должен очищать только объекты, которые не требуются представлению - это, очевидно, не так, но у меня возникают проблемы с отслеживанием того, что именно происходит. К тому времени, когда я вижу дефект, уже слишком поздно, и это относительно редкий дефект, который в основном случается только в полевых условиях.
Отсюда мой вопрос: есть ли какие-то приемы, которые я упускаю при отладке CoreData - могу ли я отслеживать время жизни объектов из одного контекста в другом? т.е. когда я удаляю свой объект, есть ли простой способ узнать, есть ли в других контекстах ссылка на этот же объект? Используя это, я мог бы создать тестовый код, чтобы проверить мою логику и найти ошибку.