NSDictionaryResultType-Ausdruck, der neu eingefügte Objekte nicht berücksichtigt

Ich möchte den Maximalwert eines Feldes in den Kerndaten, daher habe ich die folgende Anforderung eingerichtet:

// 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];
}

Es scheint jedoch, dass keine neuen Objekte berücksichtigt werden, die zuvor in den Kontext eingefügt wurden. Soll das so funktionieren? Funktioniert es nur bei Objekten im Laden?

Ich kann in den Dokumenten keinen Verweis darauf finden.

Vielen Dank,

Mike

Antworten auf die Frage(3)

Ihre Antwort auf die Frage