Объекты, удаляемые из постоянного хранилища, вероятно, также находятся в контексте объекта в памяти.Если это так, этот контекст памяти должен сначала быть обновлен для отражения удалений.Подробное обсуждение можно найти здесь .
В двух словах ...
deleteRequest.resultType = NSBatchDeleteRequestResultType.resultTypeObjectIDs
let result = try context.execute(deleteRequest) as? NSBatchDeleteResult
let objectIDArray = result?.result as? [NSManagedObjectID]
let changes = [NSDeletedObjectsKey : objectIDArray]
NSManagedObjectContext.mergeChanges(fromRemoteContextSave: changes, into: [context])