Eu usei o código a seguir para recuperar uma entidade de Core Data, de modo que o resultado retorne o objeto de entidade em vez de um Dicionário
-(Target *) currentTargetInContext:(NSManagedObjectContext *)context {
Target *match;
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName: @"Target" inManagedObjectContext:context];
[request setEntity:entity];
[request setResultType:NSManagedObjectResultType];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"Achieved == 0 "];
[request setPredicate:predicate];
NSError *error;
NSArray *objects = [context executeFetchRequest:request error:&error];
match = nil;
if (objects == nil)
{
// handle the error
}
else
{
if ([objects count] > 0)
{
match = (Target *)[objects objectAtIndex:0];
}
}
[request release];
return match;
}
http://www.flexicoder.com/blog/index.php/2009/09/core-data-fetch-a-single-entity/