我有一个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)
[uiRealm.objects(Image)]
是什么? - Nguyen HoanuiRealm.objects(User)
。 - Kalzem