2016-04-19 2 views
1

Also habe ich im Grunde zwei Arrays von primären IDs, die ich vergleiche. Vereinfachte Version:Löschen von Zeilen basierend auf den Primärschlüsseln mit realm und swift möglich?

let A: Set = [1, 3, 5, 7, 9] 
let B: Set = [2, 3, 5, 7] 
A.exclusiveOr(B).sort() 
// [1, 2, 9] 

Ich möchte die Primärschlüssel löschen, die das Ergebnis zurück (so in diesem Fall habe ich die Primärschlüssel 1,2 und 9 aus meiner Datenbank gelöscht werden soll). Ich habe die Dokumente von Realm.io überprüft, und auf den ersten Blick scheint es keine Möglichkeit zu geben, diese Primärschlüssel zu löschen.

Gibt es eine Möglichkeit, dass ich nur die Zeilen löschen kann, in denen die Primärschlüssel aus meiner default.realm-Datenbank vom A.exclusiveOr(B).sort()-Array zurückgegeben werden?

Vielen Dank im Voraus!

Antwort

2

Sie können Objekte mit einem bestimmten Primärschlüssel löschen, indem Sie nach den Objekten suchen und die zurückgegebene Results an Realm.delete(_:) übergeben. Wenn Ihr Primärschlüssel z. B. id lautet:

try! realm.write { 
    realm.delete(realm.filter("id IN %@", A.exclusiveOr(B))) 
} 
Verwandte Themen