What's the simplest way to loop from one date to another?
What I want conceptually is something like this:
for (NSDate *date = [[startDate copy] autorelease]; [date compare: endDate] < 0;
date = [date dateByAddingDays: 1]) {
// do stuff here
}
This doesn't work, of course: there's no dateByAddingDays:
. And even if it did, it would leave a wide trail of autoreleased objects waiting for their destruction.
Here's what I've thought of:
- I can't just add an
NSTimeInterval
, since the number of seconds in a day can vary.
- I could break it down into
NSDateComponents
and add one day to the components, then reassemble it. But that's long and ugly code.
So I'm hoping someone has tried a few options for this, and found a good one. Any ideas?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…