views:

201

answers:

1

I want a list of unique contacts that I've stored with core data.

NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Post" inManagedObjectContext:[self managedObjectContext]];
        NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease];
        [request setEntity:entityDescription];


        NSDictionary *entityProperties = [entityDescription propertiesByName];

        [request setPropertiesToFetch:[NSArray arrayWithObject:[entityProperties objectForKey:@"contactID"]]];
        [request setReturnsDistinctResults:YES];

        NSError *error = nil;
        NSMutableArray *retValue = [[[self.managedObjectContext executeFetchRequest:request error:&error] mutableCopy] autorelease];

The result is always the same with or without the setPropertiesToFetch, so I guess there is something wrong with it, but I can't figure out what it is. Can someone help me?

A: 

Did you set your fetch result type to NSDictionaryResultType? The documentation says setPropertiesToFetch: only works when result type == NSDictionaryResultType

.n

nielsbot
Also, the results will be returned as NSManagedObjectID in the returned dictionaries' keys, which it a bit of a pain.
nielsbot