나는 엔티티 묶음을 관리하는 핵심 데이터 기반 응용 프로그램을 보유하고 있습니다. 나는 다음을 할 수 있기를 기대하고있다.코어 데이터가 포함 된 고유 한 결과 집합 검색
나는 이름, 유형, 순위, foo1, foo2와 같은 속성을 갖는 엔티티 "SomeEntity"를가집니다.
이제 SQL 용어로 말하면 SomeEntity에는 여러 행이 있습니다. 달성하기 위해 노력하고있는 것은 각 인스턴스에 중복 유형이있을 수 있지만 사용 가능한 유형 만 검색하는 것입니다. 또한 순위에 따라 순서대로 반환해야합니다. 이제 오른쪽
NSError *error = NULL;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
[fetchRequest setReturnsDistinctResults:YES];
[fetchRequest setPropertiesToFetch:[NSArray arrayWithObjects:@"type", @"rank", nil]];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"SomeEntity" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
// sort by rank
NSSortDescriptor *rankDescriptor = [[NSSortDescriptor alloc] initWithKey:@"rank" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:rankDescriptor,nil];
[fetchRequest setSortDescriptors:sortDescriptors];
[sortDescriptors release];
[rankDescriptor release];
NSArray *fetchResults = [managedObjectContext executeFetchRequest:fetchRequest error:&error];
[fetchRequest release];
return fetchResults;
그 다음으로 충돌한다 : 여기
SELECT DISTINCT(type) ORDER BY rank ASC
Invalid keypath section passed to setPropertiesToFetch:
예제를 업데이트했습니다. 가져 오기 속성에 오류가 있습니다. –
속성을 지정하여 @ "type"및 @ "rank"를 가져 오면 두 속성 모두에서 고유하게 나타납니다. @ "type"속성 만 지정해야합니다. –