我有Entity
一个动作为的事件Attribute
。该操作NSString
将保存到我的 iOS 应用程序中每个事件的核心数据中。event.action 将始终是预定义的字符串,例如。“工作”“家”“午餐”
我如何使用它NSPredicate
来检索最后 5 个操作并给我执行最多的操作?
有没有关于使用 NSPredicate 的好教程?
我有Entity
一个动作为的事件Attribute
。该操作NSString
将保存到我的 iOS 应用程序中每个事件的核心数据中。event.action 将始终是预定义的字符串,例如。“工作”“家”“午餐”
我如何使用它NSPredicate
来检索最后 5 个操作并给我执行最多的操作?
有没有关于使用 NSPredicate 的好教程?
您能否尝试以下方法,希望能指导您:)
NSFetchRequest *request = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Event"
inManagedObjectContext:managedObjectContext];
[request setEntity:entity];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF IN %@", @[@"Work", @"Home", @"Lunch"]]; //contain your actions
[request setPredicate:predicate];
request.fetchLimit = 5;// retrieve the last 5 actions
NSError *error;
NSArray *yourActions = [managedObjectContext executeFetchRequest:request error:&error];
for (Event *event in yourActions)
{
// find the action that was perform the most in last 5 actions
}
请给我一个反馈,所以我知道发生了什么,所以我可以编辑代码来帮助你:)。
感谢以下参考: 使用核心数据与 NSPredicate 和 NSDate 为 NSFetchedResultsController 动态设置 fetchLimit http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/Predicates/Articles/pUsing.html#//apple_ref /doc/uid/TP40001794-CJBDBHCB