【问题标题】:CoreData - Getting a NSManagedObject's relationship subsetCoreData - 获取 NSManagedObject 的关系子集
【发布时间】:2014-07-17 07:46:30
【问题描述】:

菜鸟问题传入(非常简单但在任何地方都找不到答案):

我有一个实体

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];
    }
}

也许我应该使用谓词,但我不明白如何在这里使用。

【问题讨论】:

    标签: objective-c xcode nspredicate nsmanagedobject


    【解决方案1】:

    是的,使用谓词更容易。你可以这样做:

    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"my_field = %@", x];
    NSSet *subset = [my_ent.my_rels filteredSetUsingPredicate:predicate];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-13
      • 1970-01-01
      • 2020-02-29
      • 1970-01-01
      相关资源
      最近更新 更多