1
Это первый раз, когда я пытаюсь использовать CoreData, и у меня возникли проблемы с получением максимальной даты из таблицы.Получение максимального значения с помощью CoreData
Это в основном то, что я пытаюсь сделать:
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Radar" inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
NSExpression *keyPathExpression = [NSExpression expressionForKeyPath:@"modifiedOn"];
NSExpression *maxDate = [NSExpression expressionForFunction:@"max:" arguments:[NSArray arrayWithObject:keyPathExpression]];
NSExpressionDescription *expressionDescription = [[NSExpressionDescription alloc] init];
[expressionDescription setName:@"maxDate"];
[expressionDescription setExpression:maxDate];
[expressionDescription setExpressionResultType:NSDateAttributeType];
[request setPropertiesToFetch:[NSArray arrayWithObject:expressionDescription]];
NSError *error = nil;
NSArray *objects = [managedObjectContext executeFetchRequest:request error:&error];
if (objects == nil) {
// Handle the error.
}
else {
if ([objects count] > 0) {
NSLog(@"%d", [objects count]);
NSLog(@"MAx date: %@", [[objects objectAtIndex:0] valueForKey:@"modifiedOn"]);
}
}
Этот код как-то делает противоположное тому, что я хочу, и напечатать минимальный срок. Поскольку я только начал с CoreData, очевидно, что у меня что-то не так, но что?
Проверьте второй ответ здесь: http://stackoverflow.com/questions/4789033/querying-max-min-and-other-via-core-data – sho
@sho - Я получил его, используя технику, описанную в ответ, на который вы указали мне, однако, официальная документация использует код, который я вставил на вопрос. Любые идеи о том, почему этот код, который почти является копией документа из документов, не работает? благодаря – Raphael