Mise à jour base Realm

Bonjour,

Je rencontre un problème lors de la mise à jour d’une table sous Realm.
Je vous explique :

  • Je lis la table et je la stocke dans un tableau d’objet pour l’afficher dans un TableView : OK
  • J’ajoute, je supprime ou je modifie des objets dans mon tableau : OK
  • A la fin je sauvegarde dans la table Realm. Pour faire simple, je supprime la table Realm (OK) et je la recrée : KO
    Message d’erreur :
    *** Terminating app due to uncaught exception ‹ RLMException ›, reason: ‹ Adding a deleted or invalidated object to a Realm is not permitted ›
    Voici le code :

    func setLeaveTypes() {

    let realm = try! Realm()
    do {
        try realm.write {
            realm.delete(settingsLeaveTypesSaved)       // delete de la table, settingsLeaveTypesSaved = Table initiale en mémoire
        }
    } catch let error as NSError {
        print("Problème delete dans la base : \(error)")
    }
    
    for leaveType in settingsLeaveTypes {
        do { 
            try realm.write {
                realm.add(leaveType)                    // Ajout des objets à partir de la table (en mémoire) modifiée
            }
        } catch let error as NSError {
                print("Problème ajout dans la base : \(error)")
        }
    }
}

Quelqu’un a une idée, j’ai pas trouvé sur Internet

Merci d’avance pour votre aide

Laissez tomber, j’ai trouvé : realm.add(leaveType, update: true)

Désolé pour ce post éphémère.

1 « J'aime »