Tôi có một danh sách các đối tượng Realm (giả sử User) và tôi muốn lấy tất cả chúng nhưng "John", "Marc", "Al 'Med" và cứ thế.Làm thế nào để sử dụng NOT IN với Realm Swift
tôi thử như sau:
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)
Tôi cũng đã cố gắng với NSPredicate(format: "name NOT IN {%@}", namesStr)
nhưng nó sẽ sụp đổ (ngoại lệ huy động).
Và điều thứ hai, tôi giả sử như thế nào để thoát khỏi các tên trong NSPredicate. Nếu một trong các tên có ký tự là ' thì có thể sẽ không hoạt động.
EDIT
Nhờ LÊ SANG, đây là kết quả chức năng:
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)
gì ' s [uiRealm. đối tượng (Hình ảnh)]? –
@NguyenHoan Đó là lỗi đánh máy, phải là 'uiRealm.objects (Người dùng)' – Kalzem
Có thể trùng lặp: "Cách KHÔNG sử dụng Realm trong Swift"/jk –