Изменить это:
var managedObjectContext = NSManagedObjectContext(concurrencyType: .MainQueueConcurrencyType)
Вы можете скачать документ Apple, чтобы увидеть больше деталей.
NSConfinementConcurrencyType
Определяет, что контекст будет использовать шаблон удержания нити.
Доступен в iOS 3.0 и новее.
Устаревший в iOS 9.0.
Или Command + Нажмите "NSManagedObjectContext" прямо на NSManagedObjectContext.h:
@available(iOS, introduced=3.0, deprecated=9.0, message="Use another NSManagedObjectContextConcurrencyType")
case ConfinementConcurrencyType
@available(iOS, introduced=3.0, deprecated=9.0, message="Use -initWithConcurrencyType: instead")
public convenience init()
Таким образом, кажется NSManagedObjectContext() используют "ConfinementConcurrencyType" в init.When Apple, устаревшее "ConfinementConcurrencyType" в прошивкой 9.0, для ради согласованности Apple не изменила поведение метода init(). Так что лучше использовать другой NSManagedObjectContextConcurrencyTypes (PrivateQueueConcurrencyType, MainQueueConcurrencyType) с другим методом INIT:
init(concurrencyType: NSManagedObjectContextConcurrencyType)
Я использовал ваш главный смен, и это сработало для меня. Ура! – senty