Использование NSManagedObject в указанной очереди - PullRequest
0 голосов
/ 11 ноября 2018

У меня есть фоновая задача, которая выполняется в фоновой очереди.Мне нужно загрузить некоторые NSManagedObjects в этой задаче.Я знаю, что мне нужно использовать частный контекст, но как привязать этот контекст к моей существующей фоновой очереди, чтобы я мог использовать этот NSManagedObjects в своей фоновой задаче?Должен ли я выполнить в этой фоновой задаче performBlock или performBlockAndWait или, может быть, мне следует просто позвонить из потока пользовательского интерфейса performBlock на частную NSManagedObjectContext и использовать очередь из этого контекста для выполнения любой фоновой задачи, включая загрузку, сохранение NSManagedObjects и другие фоновые задачинапример, общение с rest-api и т.д ...

Я просто не уверен, что могу использовать эту очередь из контекста для выполнения каких-либо дополнительных задач, не связанных с CoreData NSManagedObjects?Если нет, то как использовать те NSManagedObjects в очереди, которые я создал для своей задачи?

1 Ответ

0 голосов
/ 12 ноября 2018

Хотя управление очередями всегда может быть сложным, очереди, запускаемые Core Data, могут выполнять код, как и любые другие очереди.

В частности, вы можете использовать очередь из контекста управляемого объекта для выполнения дополнительных задач, не связанных с Базовыми данными или управляемыми объектами. Когда Core Data была впервые выпущена в macOS в 2005 году, доступ к управляемым объектам должен был осуществляться в главном потоке, который, конечно, мог быть довольно занят другими задачами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...