核心数据从父级获取 GrandChild

Posted

技术标签:

【中文标题】核心数据从父级获取 GrandChild【英文标题】:Core Data Fetch GrandChild from Parent 【发布时间】:2012-03-15 12:20:01 【问题描述】:

提前感谢您的帮助。

我能够从父母那里获取子实体,如下面的代码所示,但我不知道如何根据父母中的某些子实体来获取孙子实体。

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

    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】:

你能列出对象及其关系名称吗?你要问的当然是可能的,但从上面的内容中(对我来说)有点难以理解。没有那个的几个建议;

您可以遍历从父母到孩子的关系(虽然不确定孩子是一对多还是一对一),然后再传给孙子 您可以使用SUBQUERY() NSPredicate 变得更有趣。优点是获取速度快,缺点是有点复杂(有时可能表明您的处理方式不是最好的)。

【讨论】:

以上是关于核心数据从父级获取 GrandChild的主要内容,如果未能解决你的问题,请参考以下文章

如何从父级及其子级的 Firebase 中获取随机数据 [重复]

将动态插槽从父级传递到子级到孙子级

从父级获取过滤的子级

如何使用Vue从父级中的多个子组件中获取值?

从父级而不是实体框架中的整个对象获取某个子属性

当子点击事件命中时反应从父组件获取数据