코어 데이터가 포함 된 saving recent searches의 이전 게시물에 대한 후속 질문입니다.가장 최근의 검색 결과가 코어 데이터에 포함되었습니다.
검색 결과를 그룹화하기 위해 Entry 엔티티와 History 엔티티가 있습니다. Entry.history는 History와의 관계입니다. History.entries는 Entry (Entry.history의 역함수)와 다 대다 관계입니다. 기록에는 날짜 속성이 생성되어 있습니다. NSFetchedResultsController에서 가장 최근 History 엔티티에 속한 모든 항목 엔티티를 가져 오는 방법을 파악하려고합니다.
나는 그렇게
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"history == %@", history];
request = [[NSFetchRequest alloc] init];
entity = [NSEntityDescription entityForName:@"Entry" inManagedObjectContext:context];
[request setEntity:entity];
[request setPredicate:predicate];
fetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request managedObjectContext:context sectionNameKeyPath:nil cacheName:@"Root"];
처럼 NSFetchedResultsController 너무
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"History" inManagedObjectContext:context];
[request setEntity:entity];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"createdAt" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[request setSortDescriptors:sortDescriptors];
[request setFetchLimit:1];
NSArray *results = [context executeFetchRequest:request error:&error];
History *history = (History *)[results objectAtIndex:0];
그리고 엔트리 기관처럼 가장 최근의 역사의 실체를 얻을 수 있습니다하지만 단일 요청으로이 작업을 수행 할 수 있습니다. 필자는 엔트리 결과를 저장하는 fetchedResultsController에 대해서만주의해야한다.