[英]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.