У меня есть многопоточное приложение, использующее coredata
.
когда приложение запускается, одновременно запускается много cloudkit NSoperations
.
В блоке завершения каждой операции я выполняю некоторую базовую обработку данных.
Поскольку основная обработка данных выполняется в фоновом режиме одновременно различными операциями, создаются дублированные управляемые объекты.
Я использую фоновый контекст Coredata и использую метод performAndWait()
для обработки основных данных.
Как я могу решить эту проблему?
Я подумал, что использование performAndWait()
в фоновом контексте гарантирует, что все мои базовые обновления данных будут выполняться в одном потоке. Но все же дублирующиеся управляемые объекты создаются.
В качестве обходного пути я использую функцию ограничения уникальных атрибутов базовых данных. Но правильный ли это подход?