Я понимаю, что Core Data не является поточно-ориентированным и что NSManagedObjectContext и NSManagedObjects, связанные с контекстом, не могут быть переданы из потока в поток.
Вопрос:
Однако, если у меня есть NSManagedObjectContextв моем основном потоке я могу создать объект NSManagedObject в фоновом потоке (БЕЗ присоединения его к любому контексту - то есть просто вызвать alloc / init для NSManagedObject), затем передать этот NSManagedObject обратно в основной поток и добавить его вконтекст оттуда?Я просмотрел документы по параллелизму Core Data, но не могу найти ничего, что говорит, что этот шаблон использования в порядке.
Контекст:
У меня есть фоновый поток, который выполняет сложную задачу, изатем публикует результат.Результатом является подкласс NSManagedObject, который содержит несколько атрибутов: время, путь к файлу и сообщение об успехе или ошибке (в виде строки).Я хочу создать объект результата в фоновом потоке, затем вернуть его обратно в основной поток и добавить его в контекст базовых данных, где он будет отображаться в табличном представлении.
Если я не могу создатьУправляемый объект в фоновом потоке, затем мне нужно будет создать словарь, передать словарь в основной поток, прочитать ключи, создать управляемый объект из этих значений и т. д. Кажется, проще создать управляемый объект в фоновом потоке, если это возможно.