Причина:
Это происходит, когда контекст объекта не принадлежит текущему потоку. Один из многих способов, которыми эта ошибка может проявиться.
Debug:
Когда происходит сбой, выполните следующие действия:
- Проверьте поток, в котором произошел сбой (Xcode> Debug Navigator)
- На распечатке консоли тип параллелизма
NSManagedObjectContext
- Если тип параллелизма
mainQueueConcurrencyType
, то он должен находиться в главном потоке, иначе в фоновых потоках.
Консольная команда для проверки типа параллелизма:
p context.concurrencyType
В примере команды выше NSManagedObjectContext
был сохранен в переменной context
Консольный вывод:
(NSManagedObjectContextConcurrencyType) $R4 = mainQueueConcurrencyType