각각 UITableView를 포함하는보기가 2 개 있습니다. 그것들은 iPad에서 나란히 동시에 표시됩니다.NSFetchedResultsController를 사용하여 엔티티의 관계를 기반으로 결과를 가져올 수 있습니까?
모든 데이터에 핵심 데이터를 사용하고 있습니다. 두 테이블을 편집 (행 추가, 삭제 등)해야하므로 각 뷰에서 NSFetchedResultsController를 사용하여이 모든 것을 처리해야합니다.
두 번째 테이블의 내용은 첫 번째 테이블에서 선택한 내용에 따라 다릅니다. 따라서 첫 번째 테이블에서 항목을 선택하면 해당 개체가 두 번째 테이블이있는보기로 전달되므로 (두 번째 테이블로 이동해야하는 데이터에 대한 액세스 권한이 이미 있음) 사용하려고합니다. 가능한 경우 NSFRC의 모든 내장 처리.
모델은 대학 (uniID, uniName, students) 및 학생 (stuID, stuName, university)의 행을 따릅니다. 그래서 관계는 다음과 같습니다 : University < - >> 학생.
나는 NSFRC에 다음 코드를 사용하고 있지만, 0 결과를 반환하는 것 :
- (NSFetchedResultsController *)fetchedResultsController {
if (fetchedResultsController != nil) {
return fetchedResultsController;
}
NSManagedObjectContext *context = appDelegate.managedObjectContext;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Student" inManagedObjectContext:context];
[fetchRequest setEntity:entity];
NSSortDescriptor *sort = [[NSSortDescriptor alloc]initWithKey:@"stuName" ascending:YES];
[fetchRequest setSortDescriptors:[NSArray arrayWithObject:sort]];
[fetchRequest setFetchBatchSize:20];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"university == %@",self.selectedUniversity];
[fetchRequest setPredicate:predicate];
NSFetchedResultsController *theFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:context sectionNameKeyPath:nil cacheName:nil];
self.fetchedResultsController = theFetchedResultsController;
fetchedResultsController.delegate = self;
[sort release];
[fetchRequest release];
[theFetchedResultsController release];
return fetchedResultsController;
}
사람이 적어도 올바른 방향으로 날 지점 수 있다면 가장 감사하게 될 것입니다. ..
감사합니다. Ashley. 예, 가져 오기를 수행하고 있지만 numberOfRowsInSection에 반환 된 행 수는 0입니다. –
fetchRequest에 예상하는 내용이 포함되어 있는지 확인할 수 있습니다 (여기에 게시 하시겠습니까?) –
가져 오기 요청은 검색어가 무. (엔티티 : 학생, 술어 : (대학 == nil), sortDescriptors : ( "(stuName, 오름차순, 비교 :)" )), 일괄 처리 크기 : 20, 형식 : NSManagedObjectResultType; 대학은 NSFRC가 만들어지면 무효입니다. 선택한 대학을 사용하도록 업데이트하려면 어떻게해야합니까? –