簡體   English   中英

如何在Realm Swift中使用NOT IN

[英]How to use NOT IN with Realm Swift

我有一個Realm對象列表(讓我們說User),我想要檢索所有這些對象,但“John”,“Marc”,“Al'Med”等等。

我嘗試了以下方法:

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)

我也試過NSPredicate(format: "name NOT IN {%@}", namesStr)但它會崩潰(引發異常)。

第二件事 ,我怎么想逃避NSPredicate中的名字。 如果其中一個名稱具有'字符,則它可能不起作用。


編輯

感謝LE SANG,這是功能結果:

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)

根據Realm文檔 ,這些方法應該有效

let predicate = NSPredicate(format: "NOT (name IN %@)", namesStr)
let predicate = NSPredicate(format: "!(name IN %@)", namesStr)
let predicate = NSPredicate(format: "NOT name IN %@", namesStr)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM