в приложении macOS, у меня есть простой AddEditViewController
, который получает NSManagedObject от основного контроллера представления. Затем я создаю дочерний элемент NSManagedObjectContext
, чтобы легко отменять изменения, если пользователь нажимает кнопку отмены.
Вот реализация ViewWillAppear()
super.viewWillAppear()
// Create child MOC
self.managedObjectContext = NSManagedObjectContext(concurrencyType: self.parentManagedObjectContext.concurrencyType)
self.managedObjectContext.parent = self.parentManagedObjectContext
Но это дает мне следующую ошибку:
[General] Parent NSManagedObjectContext must use either NSPrivateQueueConcurrencyType or NSMainQueueConcurrencyType.
0 CoreFoundation 0x00007fff379aad63 __exceptionPreprocess + 250
1 libobjc.A.dylib 0x00007fff6d899bd4 objc_exception_throw + 48
2 CoreData 0x00007fff3743676e -[NSManagedObjectContext setParentContext:] + 334
3 Zacc 0x00000001000714fa $s4MyApp28AddEditViewControllerC14viewWillAppearyyF + 666
Есть идеи здесь? Я не смог ничего найти в сети.
Я использую Xcode 11 на macOS 10.15.
Спасибо за помощь!