需要查询多个属性之间的 RLMObject
用于多对一关系吗?此类将 NSPredicate 中的隐藏宝石 SUBQUERY
带到 Realm。例如,给定以下 Realm 设置
Person : RLMObject
@property NSString *Id;
@property RLMArray<Dog> *dogs;
Dog : RLMObject
@property BOOL hasFleas;
@property NSString *color;
现在可以为所有至少有一只长跳蚤且为棕色的 Person 编写查询。这是通过结果 Realm 查询中的 SUBQUERY
来实现的
RLMResults *ownersOfBrownDogsWithFleas = [Person objectsWithSubqueryPredicate:@"SUBQUERY(dogs, $dog, $dog.hasFleas = YES AND $dog.color == 'brown').@count > 0"];
格式与标准 NSPredicate SUBQUERY
表达式类似
SUBQUERY(RLMArray keypath, variable, predicate)
Id
)。@count
集合操作符。SUBQUERY
的复合谓词,但不支持嵌套的 SUBQUERY
。