核心数据从Parent获取GrandChild

时间:2012-03-15 12:20:02

标签: iphone ios ipad core-data nsfetchrequest

提前感谢您的帮助。

我可以从父代获取子实体,如下面的代码所示,但我无法弄清楚如何根据父级中的某个on child获取孙子。

如何根据子属性添加或更改现有代码以从孙子中获取值?

    NSMutableArray *createdMutable = [[NSMutableArray alloc]init];
    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor      alloc]initWithKey:@"randomAttribute" ascending:YES];
    NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:&sortDescriptor count:2];
    NSMutableArray *sortedResults = [[NSMutableArray alloc] initWithArray:   [parentEntity.parentToChild allObjects]];
    [sortedResults sortUsingDescriptors:sortDescriptors];
    [sortedResults valueForKey:@"randomAttribute"];

    NSString *addedCreatedMutable;
    for (int i = 0; [sortedResults count] > i; i++) {
            addedCreatedMutable =  [[sortedResults valueForKey:@"randomAttribute"]objectAtIndex:i];
            addedCreatedMutable =  [addedCreatedMutable stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];

            if ([createdMutable containsObject:addedCreatedMutable]) {

            }else{
                    [createdMutable addObject:addedCreatedMutable];
            } 

1 个答案:

答案 0 :(得分:0)

您能列出对象及其关系名称吗?你问的当然是可能的,但是从上面的内容来看(对我而言)有点难。没有它的几个建议;

  • 您可以遍历父母与子女之间的关系(不确定孩子是否为多人或一对一)并再次出现在孙子身上
  • 使用SUBQUERY() NSPredicate可以获得更多功能。优势是获取速度,缺点是它更复杂(有时候可能表明你的事情并不是最好的方式)。