La expresión NSDictionaryResultType no tiene en cuenta los objetos recién insertados

Quiero el valor máximo de un campo en los datos básicos, por lo que he configurado la siguiente solicitud:

// Create fetch
NSFetchRequest *fetch = [[NSFetchRequest alloc] init];
[fetch setEntity:[NSEntityDescription entityForName:@"MyEntity" inManagedObjectContext:context]];
[fetch setResultType:NSDictionaryResultType];

// Expression for Max ID
NSExpression *keyPathExpression = [NSExpression expressionForKeyPath:@"myNumbericID"];
NSExpression *minExpression = [NSExpression expressionForFunction:@"max:" arguments:[NSArray arrayWithObject:keyPathExpression]];
NSExpressionDescription *expressionDescription = [[NSExpressionDescription alloc] init];
[expressionDescription setName:@"maxID"];
[expressionDescription setExpression:minExpression]; 
[expressionDescription setExpressionResultType:NSDoubleAttributeType];
[fetch setPropertiesToFetch:[NSArray arrayWithObject:expressionDescription]];

// Execute the fetch. 
double theID = 0;
NSError *error;
NSArray *objects = [context executeFetchRequest:fetch error:&error]; 
if (objects && [objects count] > 0) { 
    theID = [((NSNumber *)[[objects objectAtIndex:0] valueForKey:@"maxID"]) doubleValue];
}

Sin embargo, parece que no tiene en cuenta ningún objeto nuevo que se haya insertado en el contexto de antemano. ¿Es así como se supone que funciona? ¿Solo funciona con objetos en la tienda?

No puedo encontrar ninguna referencia a él en los documentos.

Gracias,

Micro

Respuestas a la pregunta(3)

Su respuesta a la pregunta