Core Dataは初めてですが、タイムスタンプ値が最大のレコードをフェッチしようとしています。次のコードでは、最大のTimeStamp値を取得していますが、最大のタイムスタンプ値を持つレコードが必要です。
AppDelegate * appDelegate =(AppDelegate *)[[UIApplicationsharedApplication]デリゲート];
NSManagedObjectContext *context = [appDelegate managedObjectContext];
NSEntityDescription *entity = [NSEntityDescription
entityForName:@"EnergyCumulative" inManagedObjectContext:context];
NSFetchRequest *fetchRequest = [[ NSFetchRequest alloc] init];
[fetchRequest setEntity:entity];
NSExpression *keyPathExpression = [NSExpression
expressionForKeyPath:@"TimeStamp"];
NSExpression *ex = [NSExpression expressionForFunction:@"max:"
arguments:[NSArray arrayWithObject:keyPathExpression]];
NSExpressionDescription *expressionDescription = [[NSExpressionDescription alloc] init];
[expressionDescription setName:@"AvgReading"];
[expressionDescription setExpression:ex];
[expressionDescription setExpressionResultType:NSStringAttributeType];
[fetchRequest setPropertiesToFetch:[NSArray arrayWithObject:expressionDescription]];
[fetchRequest setResultType:NSDictionaryResultType];
[fetchRequest setEntity:entity];
NSError *error;
NSArray *tripArray = [context executeFetchRequest:fetchRequest error:&error];
NSLog(@"%@",tripArray);
NSLogで取得しています({AvgReading = 1342704600000;})
元。私は属性Reading&TimeStampを持っているという点でEntity EnergyCumulativeを持っているので、最大のタイムスタンプを持つ読み取りが必要です