我最近尝试了类似的东西。我试图找到最大日期的注册。
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 进行 coredata 访问,点击链接获取纯核心数据示例(只有一小部分代码不同)