Как управлять параллелизмом в Coredata? - PullRequest
0 голосов
/ 12 апреля 2019

У меня есть многопоточное приложение, использующее coredata. когда приложение запускается, одновременно запускается много cloudkit NSoperations. В блоке завершения каждой операции я выполняю некоторую базовую обработку данных.

Поскольку основная обработка данных выполняется в фоновом режиме одновременно различными операциями, создаются дублированные управляемые объекты.

Я использую фоновый контекст Coredata и использую метод performAndWait() для обработки основных данных.

Как я могу решить эту проблему?

Я подумал, что использование performAndWait() в фоновом контексте гарантирует, что все мои базовые обновления данных будут выполняться в одном потоке. Но все же дублирующиеся управляемые объекты создаются.

В качестве обходного пути я использую функцию ограничения уникальных атрибутов базовых данных. Но правильный ли это подход?

1 Ответ

0 голосов
/ 13 апреля 2019

Я смог решить это. Правильный путь - использовать базовый контекст данных. Используйте performAndWait() для выполнения всех основных задач обработки данных внутри своего блока.

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