Ich habe eine Liste von Realm-Objekten (sagen wir Benutzer) und ich möchte alle von ihnen aber "John", "Marc", "Al 'Med" und so weiter.NOT IN mit Realm Swift
Ich habe versucht, die folgenden:
var namesStr = ""
for user in unwantedUsers {
namesStr += "'" + user.name + "', "
}
namesStr = String(namesStr.characters.dropLast().dropLast())
let predicate = NSPredicate(format: "NOT name IN {%@}", namesStr)
let remainingUsers = uiRealm.objects(User).filter(predicate)
ich auch mit NSPredicate(format: "name NOT IN {%@}", namesStr)
versucht, aber es würde abstürzen (Ausnahme ausgelöst).
Und zweite Sache, wie soll ich die Namen in der NSPredate zu entkommen. Wenn einer der Namen ein ' Zeichen hat, wird es wahrscheinlich nicht funktionieren.
EDIT
Dank LE SANG, hier ist das funktionelle Ergebnis:
var userArr: [String] = []
for user in unwantedUser {
userArr.append(user.name)
}
let predicate = NSPredicate(format: "NOT name IN %@", userArr)
let remainingUsers = uiRealm.objects(User).filter(predicate)
arbeiten, was ' s [uiRealm. Objekte (Bild)]? –
@NguyenHoan Es ist ein Tippfehler, sollte 'uiRealm.Objects (User) ' – Kalzem
Mögliche Duplikate von:" Wie man Realm innerhalb von Swift NICHT verwenden "/ jk –