Самый простой способ циклично выполниться между двумя NSDates на iPhone?

Что самый простой путь состоит в том, чтобы циклично выполнить от одной даты до другого?

Что я хочу, концептуально что-то вроде этого:

for (NSDate *date = [[startDate copy] autorelease]; [date compare: endDate] < 0;
     date = [date dateByAddingDays: 1]) {
    // do stuff here
}

Это не работает, конечно: существует нет dateByAddingDays:. И даже если бы это сделало, то это оставило бы широкий след автовыпущенных объектов, ожидающих их разрушения.

Вот то, о чем я думал:

  • Я не могу просто добавить NSTimeInterval, так как число секунд через день может варьироваться.
  • Я мог сломать его в NSDateComponents и добавьте однажды к компонентам, затем повторно соберите его. Но это - длинный и ужасный код.

Таким образом, я надеюсь, что кто-то попробовал несколько опций за это и нашел хорошее. Какие-либо идеи?

5
задан Steven Fisher 1 September 2011 в 21:18
поделиться