私は最近、このように非常によく似たものを試しました。日付が最大の登録を探してみました。
NSFetchRequest* request = [Registration fetchRequest];
NSExpression *date = [NSExpression expressionForKeyPath:@"time"];
NSExpression *maxDate = [NSExpression expressionForFunction:@"max:"
arguments:[NSArray arrayWithObject:date]];
NSExpressionDescription *d = [[[NSExpressionDescription alloc] init] autorelease];
[d setName:@"maxTime"];
[d setExpression:maxDate];
[d setExpressionResultType:NSDateAttributeType];
[request setPropertiesToFetch:[NSArray arrayWithObject:d]];
NSError *error = nil;
NSArray *objects = [Registration executeFetchRequest:request];
if (objects == nil) {
// Handle the error.
} else {
if (0 < [objects count]) {
NSLog(@"Maximum date: %@", [[objects objectAtIndex:0] valueForKey:@"type"]);
}
}
このページで詳細を確認できます。https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/CoreData/Articles/cdFetching.html
ただし、まだ欠けている部分は、特定の従業員の登録のみを調べる方法です... NSPredicate を設定するリクエストを組み合わせてみましたが、どういうわけか一緒に使用できません。
注:コアデータへのアクセスにrestkitを使用しています。リンクに従って、純粋なコアデータの例を取得してください(コードのごく一部のみが異なります)