:NSFetchedResultController 복잡한 종류의 케이스
[Agency] <--->> [AgencyRating] <<---> [RatingType]
rating types
의 번호 (예 : 전체, 브랜딩, 디자인, 프로그래밍, 등.)이있다. 각 agency
에는 이러한 등급 유형이 모두 포함될 수 있습니다 (예 : agency
FooBar는 디자인에서 1050 점, 브랜딩에서 700 점을 가짐).
테이블 구조 :
Agency
이름 : 문자열 RatingType
이름 : 문자열 AgencyRating
: agency_ref : agency
에 관계 ratingType_ref : rating type
에 관계 값 : 정수.
분할보기 컨트롤러가 있습니다. 왼쪽에는 rating types
이 포함되어 있습니다. 사용자가 어떤 등급 유형을 선택하면 오른쪽에 등급 평가 기관별로 정렬하여 표시하고 싶습니다.
NSFetchedResultController
으로 달성하고 싶습니다. 평가 값을 셀에 표시하는 방법을 이해하지만 정렬 설명자를 만드는 방법을 이해하지 못합니다. 나는 종류의 이름으로,하지만 난 기반의 평가 값을 기준으로 정렬해야합니다
컨트롤러 :
이_contentFetchController = [Agency MR_fetchAllGroupedBy:nil withPredicate:[NSPredicate predicateWithValue:YES] sortedBy:@"name" ascending:YES];
셀 :
- (void) configureForAgency:(Agency *) agency ratingType:(RatingType *) ratingType forIndexPath:(NSIndexPath *) path {
self.positionLabel.text = [NSString stringWithFormat: @"%d", (int)path.row + 1];
UIImage *image = [UIImage imageWithContentsOfFile:agency.logoPath];
if (image) {
self.logoImageView.image = image;
}
self.nameLabel.text = agency.name;
// HERE IS VALUE OF RATING
self.ratingValueLabel.text = [[agency ratingForRatingType:ratingType] stringValue];
}
당신이 볼 수 있듯이 현재
내가 가진 선택한 등급 유형. 어떤 아이디어?
'sortDescriptorWithKey : @ "agencyRatings.ratingValue"생성 :'to-many 키는 허용되지 않습니다' – user2786037
그래, 맞아, 잊어 버렸어. –
내가 이해하는 한, 거기에만있다. 한 가지 해결책 : 배열과 함께 tableView를 데이터 소스로 사용하고 원시 SQL 쿼리로 해당 배열을 채 웁니다. 그러나 또 다른 해결책이 있기를 바랍니다 :) – user2786037