核心数据从父级获取 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的主要内容,如果未能解决你的问题,请参考以下文章