Pour enregistrer de nouvelles données dans les données de base, vous pouvez supprimer tous les enregistrements de la données de base, puis vous pouvez enregistrer tous les enregistrements dans les données de base.
Cette fonction permet de supprimer tous les enregistrements des données de base. Vous pouvez appeler cette fonction avant d'enregistrer les enregistrements dans les données de base.
func deleteEverything()
{
let appDel = UIApplication.sharedApplication().delegate as! AppDelegate
let context = appDel.managedObjectContext
let coord = appDel.persistentStoreCoordinator
let fetchRequest = NSFetchRequest(entityName: "Categorytbl") // Your entity name
if #available(iOS 9.0, *)
{
let deleteRequest = NSBatchDeleteRequest(fetchRequest: fetchRequest)
do
{
try coord.executeRequest(deleteRequest, withContext: context)
}
catch let error as NSError
{
debugPrint(error)
}
}
else
{
// Fallback on earlier versions
do{
let fetchedObjects : NSArray = try context.executeFetchRequest(fetchRequest)
if(fetchedObjects.count > 0)
{
for currObj in fetchedObjects
{
context.deleteObject(currObj as! NSManagedObject)
}
let _ : NSError! = nil
do {
try context.save()
} catch {
print("Error in Deletion : \(error)")
}
}
}
catch let error as NSError
{
debugPrint(error)
}
}
}
J'ai rencontré le même problème. Ça fonctionne bien à ma fin.
Salut Dim San Cing! Bienvenue dans Stack Overflow. Qu'avez-vous essayé? Quelles erreurs obtenez-vous? S'il vous plaît expliquer votre problème un peu plus et ce que vous avez essayé et sur quelle plate-forme afin que nous ayons une meilleure chance de répondre avec précision. –