Noob提问传入(非常简单但无法在任何地方找到答案):
我有一个实体
MY_ENT *my_ent = {initialized elsewhere};
此实体具有称为my_rel
NSLog(@"Relations: %lu", my_ent.my_rel.count);
关系:15
我想获得它的一个子集,其中字段my_field
等于@" xx"
我试图循环填充NSArray的关系,但没有运气(指针似乎已取消分配)。
NSMutableArray *my_rels;
for (MY_REL *my_rel in my_ent.my_rel) {
if ([my_rel.my_field isEqualToString:@"xx"]) {
[my_rels addObject:my_rel];
}
}
也许我应该使用谓词,但我不明白如何在这里使用谓词。
答案 0 :(得分:2)
是的,使用谓词会更容易。你可以这样做:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"my_field = %@", x];
NSSet *subset = [my_ent.my_rels filteredSetUsingPredicate:predicate];