从关系中排除结果的领域查询

Realm query to exclude results from relations

我有

class Person: Object {
    let friends = List<Person>()
    let family = List<Person>()
}

我有 person 个实例,其中包含指向 person.friends 列表中其他一些人的链接。 我想查询所有其他 Person 对象,不包括 person.friendsperson.

我可以做两个 for in 循环来检查查询是否不包含列表中的人,但这似乎不是最好的方法。

P.S。在 CoreData 中,我使用 predicate:

let predicate = NSPredicate(format: "SELF != %@ AND NOT SELF IN %@",person, person.friends),

但是 Realm 给我一个错误:

Predicate expressions must compare a keypath and another keypath or a constant value

.

很遗憾,Realm 目前不支持此谓词 -- 您可以关注 https://github.com/realm/realm-cocoa/issues/1328 获取更新。