2017-10-21 23 views
0

L'échec d'une suppression par lot échoue et je n'arrive pas à comprendre ce qui se passe.Erreur de demande de traitement par lots CoreData Swift

J'appelle la demande:

self.deleteAllRecords(entity: self.someEntity) 

et la fonction est:

func deleteAllRecords(entity : String) 
    { 
     let delegate = UIApplication.shared.delegate as! AppDelegate 
     let context = delegate.persistentContainer.viewContext 


     let fetch = NSFetchRequest<NSFetchRequestResult>(entityName: entity) 
     let request = NSBatchDeleteRequest(fetchRequest: fetch) 

     do { 
      let result = try context.execute(request) 
      print("result: ", result) 
     } 
     catch { 
      print ("There was an error 1") 
     } 
     do { 
      try context.save() 
     } catch { 
      print ("There was an error 2") 
      } 

    } 

J'enferrons à l'erreur 1. Toute aide appréciée. Seam3 ne prend actuellement pas en charge l'opération NSBatchDeleteRequest, de sorte qu'une erreur invalidOperation est levée.

+2

Il serait extrêmement utile d'imprimer l'erreur réelle au lieu de signaler simplement qu'une erreur s'est produite. Inclure '\ (erreur)' dans l'instruction print. –

+0

hmm. J'utilise un contrôle 'core data/cloudkit' - Seam3. Cela semble entraîner le. message d'erreur plus complet: 'Error Domain = SMStoreErrorDomain Code = 1" (null) "' –

Répondre