对具有非连续日期的数组进行iOS过滤

时间:2016-06-13 16:13:05

标签: ios nsarray filtering nspredicate

我有一个日期作为我的起点,并不总是今天的日期。我有一个包含活动日期的数组。自时间间隔

以来,这两个日期都以秒为单位

然后我使用dateByAddingUnit方法根据所需的过滤添加/减去一天或一周

NSDate *filteredDate = [[NSCalendar currentCalendar] dateByAddingUnit:NSCalendarUnitDay
                                                value:1      //value + or -
                                               toDate:startDate //date
                                              options:0];

然后我使用NSDateComponents获取仅日期值并将其转换为它的时间间隔值并在数组上运行我的查询

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(time >= %d) AND (time <= %d)", time, filteredTime];

这一切都很有效,直到我有一个日期为12,13,14 ......的数组。

我怎样才能重构这一点,所以一旦我到达第14位而不是寻找第15项,它会跳转到下一个项目(如果在我的数组中可用)。

Link to full method

0 个答案:

没有答案