2015-07-21 2 views
0

Я хочу вычислить предыдущую дату или следующую дату со смещения NSDate и EKRecurrenceRule. Что-то любит это:Вычислить предыдущую или следующую дату с EKRecurrenceRule

NSDate* prevDate = [Something computePreviousDateForOffsetDate: aDate 
              withRecurrenceRule: aRule]; 

NSDate* nextDate = [Something computeNextDateForOffsetDate: aDate 
             withRecurrenceRule: aRule]; 

я мог бы создать Something с простым правилом повторения, однако сложные правила довольно немного трудно для меня. Я думаю, что это довольно часто необходимо, поэтому я спрашиваю об этом.

Должен ли я проводить время, чтобы реализовать собственное решение?

ответ

1

Потеряв некоторое время с помощью EKRecurrenceRule Я нашел альтернативное решение с ios-rrule_parser. Это проще всего использовать и покрыть все мои потребности.

для nextDate использовать это:

NSDate *startDate = [NSDate date]; 
NSDate *endDate = [startDate dateByAddingTimeInterval:100 *24 *60 *60]; 

Scheduler * scheduler = [[Scheduler alloc] initWithDate:startDate andRule:@"RRULE:FREQ=DAILY;COUNT=1;INTERVAL=2"]; 
NSArray *occurences = [scheduler occurencesBetween:startDate andDate:endDate]; 

NSDate *nextDate = [occurences objectAtIndex:0]; 

для previousDate просто изменить начальную Дата

Смежные вопросы