Sto cercando di ottenere un risultato distinto da NSPredicate.NSFetchRequest con proprietà distinte
Il mio codice:
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];
Il problema è che il risultato ritorna molte volte la stessa città. Questa Entità ha molti Membri e ogni Membro ha una "città" di proprietà.
Cosa sto sbagliando?
Grazie,
RL
Probabilmente dovrei aggiungere che 'NSFetchedResultsController' non è generalmente un fan del' NSDictionaryResultType'. Potresti incontrare altri problemi e abbandonare il 'NSFetchedResultsController'. – Alex
La domanda è che non voglio che il risultato sia e NSDictionary. In caso contrario, dovrò cambiare parte del mio codice. È fattibile in altro modo? –
Quale oggetto ti aspetti che ritorni, quindi? I dati principali possono restituire solo oggetti effettivamente presenti nel grafico dell'oggetto. – Alex