web-dev-qa-db-fra.com

Comment supprimer facilement tous les objets d'un royaume

J'ai le choix de faire une migration, mais je préférerais supprimer tout dans mon defaultRealm (). Comment puis-je le faire facilement?

realm.deleteObject(object)

est la seule fonction avec .deleteObjects.

J'ai essayé le code suivant:

Méthode 1

realm.deleteObjects(RLMObject.objectsInRealm(realm, withPredicate: NSPredicate(value: true)))

Méthode 2

        realm.deleteObjects(Dog.allObjectsInRealm(realm))
        realm.deleteObjects(Person.allObjectsInRealm(realm))
        realm.deleteObjects(Goal.allObjectsInRealm(realm))
        realm.deleteObjects(Goals.allObjectsInRealm(realm))

Les deux ne parviennent pas à empêcher l'exception de migration.

29
CaptainCOOLGUY

Utilisez deleteAll() :

let realm = try! Realm()
try! realm.write {
    realm.deleteAll()
}
84
jpsim

Depuis v0.87. , il existe une méthode deleteAllObjects sur RLRealm qui effacera le royaume de tous les objets.

15
Michael McGuire

Les choses ont évolué dans le monde du royaume - au cas où quelqu'un trouverait cela maintenant, il y a une propriété qui peut être définie:

Realm.Configuration.defaultConfiguration.deleteRealmIfMigrationNeeded = true

Il fait alors comme annoncé. (btw: une grande partie de la syntaxe ci-dessus a changé au cas où vous essayez l'une des autres méthodes)

Le Github PR https://github.com/realm/realm-cocoa/pull/346

11
David Glance

Je pense que la suppression du fichier Realm DB est la réponse valable étant donné que la question concernait la suppression d'un stockage entier plutôt que sa migration.

Voici un code rapide Swift pour cela (à partir de Swift 2.1 et Realm 0.96.2):

if let path = Realm.Configuration.defaultConfiguration.path {
    try! NSFileManager().removeItemAtPath(path)
}

J'utilise ce code dans la version DEBUG de l'application si l'erreur de migration se produit lors du chargement du stockage, puis je recrée le stockage. Pendant le développement, le schéma peut changer beaucoup, il serait donc trop lourd de se soucier de la migration tout le temps.

4
zubko