0

我有一个Event保存 aNSString *action和 a的表NSDate *date。我想过滤从核心数据中检索到的数组,以显示过去一小时和下一小时执行的所有操作,而不取决于保存日期。周二的示例在 16:00 保存了一个操作,但今天是周五 17:00,我仍然想检索周二保存的该操作以及该时间范围内的任何操作。

4

1 回答 1

0

对于任何被这个问题困扰的人。将我的事件表更改为保存一个整数(动作的小时数)并像这样检索它

NSDate *currentFullDate = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:(NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:currentFullDate];
NSInteger currentHour = [components hour];
NSInteger hourAgo = currentHour -1;
NSInteger nextHour = currentHour +1;


NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Event"];
request.predicate = [NSPredicate predicateWithFormat:@"(hour >=%@) AND (hour <= %@)", hourAgo, nextHour];
request.fetchLimit = 5;
NSError *error;
NSArray *eventArray = [managedObjectContext executeFetchRequest:request error:&error];

for (Event *event in eventArray)
{

}
于 2012-11-09T16:51:24.650 回答