2012-03-15 1 views
0

미리 도움을 주셔서 감사합니다.핵심 데이터 부모로부터 GrandChild 가져 오기

아래 코드에서 볼 수 있듯이 상위 항목에서 하위 항목을 가져올 수 있지만 상위 항목의 하위 항목을 기반으로 손자를 가져 오는 방법을 알 수 없습니다.

하위 속성을 기반으로 손자의 가치를 얻기 위해 기존 코드를 추가하거나 변경하려면 어떻게해야합니까?

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

답변

0

개체와 해당 관계 이름을 나열 할 수 있습니까? 당신이 요구하는 것은 당연히 가능 합니다만, 위의 것에서 (나를 위해) grok하기가 약간 어렵습니다. 그것없이 몇 가지 제안;

  • 당신은 아이들에게 부모의 관계를 다시 손자 밖으로
  • 당신은 SUBQUERY() 자 NSPredicate를 사용하여 funkier 얻을 수 있습니다 (아이가가 일대 다 또는 일대일하지만 경우 확실하지)를 통과 할 수 있습니다. 장점은 속도를 가져 오는 것입니다. 단점은 조금 더 복잡하다는 것입니다 (때로는 최선의 방법이 아닌 상황을 나타낼 수도 있음).