Я знаю, как фильтровать массив или набор fetchedResults по диапазонам дат.Как выполнять фильтрацию по времени дня, как в 15:00 - 17:00.
В некоторых ответах SO говорится, что вы не можете сделать это для MOC с поддержкой SQLLite, и вам нужно получить все результаты и выполнить фильтрацию.Тем не менее, я не могу понять, как фильтровать.
Вы можете фильтровать от 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];
Но как вы фильтруете набор результатов помесяц или около того с 15:00 до 17:00, независимо от дня
Заранее благодарим за любые идеи.