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