NSPredicate와 다른 결과를 얻으려고합니다.고유 한 속성을 가진 NSFetchRequest
내 코드 :
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Members" inManagedObjectContext:context];
request.entity = entity;
request.sortDescriptors = [NSArray arrayWithObject:[NSSortDescriptor sortDescriptorWithKey:@"city"
ascending:YES
selector:@selector(caseInsensitiveCompare:)]];
request.predicate = [NSPredicate predicateWithFormat:@"memberDeleted == %@", [NSNumber numberWithBool:NO]];
NSDictionary *properties = [entity propertiesByName];
request.propertiesToFetch = [NSArray arrayWithObject:[properties objectForKey:@"city"]];
request.returnsDistinctResults = YES;
request.fetchBatchSize = 20;
NSFetchedResultsController *frc = [[NSFetchedResultsController alloc] initWithFetchRequest:request
managedObjectContext:context
sectionNameKeyPath:nil
cacheName:@"CityCache"];
[request release];
self.fetchedResultsController = frc;
[frc release];
문제는 결과가 여러 번 같은 도시를 반환한다는 것입니다. 이 엔티티에는 많은 멤버가 있으며 각 멤버에는 속성 "도시"가 있습니다.
내가 뭘 잘못하고 있니?
감사합니다,
RL은
아마 NSFetchedResultsController'는 일반적으로'NSDictionaryResultType'의 팬이 아닌 '것을 추가해야합니다. 다른 문제가 발생하여 NSFetchedResultsController를 포기해야합니다. – Alex
질문은 결과가 NSDictionary 인 것을 원하지 않는다는 것입니다. 그렇지 않으면 코드 일부를 변경해야합니다. 그것은 다른 방법으로 행할 수 있습니까? –
어떤 물건을 돌려 주길 기대합니까? 핵심 데이터는 객체 그래프에 실제로 존재하는 객체 만 반환 할 수 있습니다. – Alex