NSMangagedObjectContext получает преобразованный в String со значением пути к БД

У меня есть приложение, которое использует dispatch_queue_t и прекрасно работает для большинства пользователей в разных сочетаниях ОС и устройств. У меня есть много потоков, которые продолжают работать и имеют dispatch_queue_t для получения определенных данных. Чтобы отслеживать NSManagedObjectContexts между потоками, я использую NSDictionary, который отслеживает и отображает NSManagedObjectContext в нужный поток.

Теперь проблема в длинной очереди, которая используется для извлечения данных с сервера и, следовательно, требует времени, ссылка NSManagedObjectContext в словаре изменяется на строку со значением, указывающим путь к базе данных.

Единственный раз, когда я удаляю объект из словаря, это делегат threadExit, поэтому ссылка никогда не удаляется, просто ссылка NSManagedObjectContext изменяется на строку (указывающую на файл БД).

Что может быть причиной этого?

1 ответ

Решение

Хлоп! Глупый недосмотр.

Где-то глубоко в коде, после добавления контекста в словарь, он был выпущен. Теперь, почему контекст менялся на строку, а не просто сбой, остается загадкой.

Другие вопросы по тегам