我知道如何按日期范围过滤数组或一组fetchedResults。如何按一天中的下午3点到下午5点进行过滤。
关于SO的一些答案说,对于SQLLite支持的MOC,您无法执行此操作,而必须获取所有结果并进行过滤。但是,我不知道如何过滤。
您可以在特定日期使用以下方法过滤从下午3点到下午5点:
NSCalendar *myCal = [NSCalendar currentCalendar];
myCal.timeZone = [NSTimeZone localTimeZone];
NSDate *startOfDay = [myCal startOfDayForDate:[NSDate date]];
NSDate *noon = [myCal dateByAddingUnit:NSCalendarUnitHour
value:12
toDate:startOfDay
options:0];
NSDate *threepm = [myCal dateByAddingUnit:NSCalendarUnitHour
value:15
toDate:startOfDay
options:0];
NSPredicate *fivepmPred = [NSPredicate predicateWithFormat:@"starttime <= %@", fivepm];
NSPredicate *threepmPred = [NSPredicate predicateWithFormat:@"starttime >= %@", threepm];
NSMutableArray *subPredicates = [NSMutableArray arrayWithCapacity:10];
[subPredicates addObject:fivepmPred];
[subPredicates addObject:threePred];
但是,对于每天下午3点到5点,您如何独立于一天过滤大约一个月的一组结果
提前感谢任何想法。